Pergunta

Eu quero detectar o tamanho da tela dos usuários e passar isso para uma aplicação de gráficos (Chart Diretor por http: // www. advsofteng.com ) para controlar o quão grande uma imagem para exibição.

Eu tenho que usar ASP, mas só posso pensar de usar JavaScript para detectar tamanho de tela e, em seguida, passar isso para o script do lado do servidor. Existe uma maneira mais fácil?

Graças

Foi útil?

Solução

Não, o servidor sabe nada a respeito do cliente diferente do de informações básicas como IP e versão do navegador. resolução de tela pode facilmente ser determinada via javascript e passado para o servidor no entanto, usando ajax, ou através do envio do formulário.

Outras dicas

Aqui está a minha solução simples:

código javascript:

document.cookie = "screen_w=" + screen.availWidth ;
document.cookie = "screen_h=" + screen.availHeight;

código asp:

screen_w = request.Cookies("screen_w")
screen_h = request.Cookies("screen_h")

Não, isso não é possível para navegadores desktop. Eu sugiro incorporar uma imagem que é apropriado para resoluções de tela típicos, em seguida, detectar o tamanho da tela, e reescrevendo atributo src da imagem para refletir isso.

Em qualquer caso, você não quer olhar para a resolução da tela, você quer olhar para o tamanho da tela. Nem todo mundo usa o seu navegador com uma janela maximizada, especialmente aqueles com grandes telas. Se você usar a resolução da tela, então você vai acabar servindo imagens que são demasiado grande para algumas pessoas.

Você não pode obter o tamanho da tela os usuários só o tamanho da janela do navegador, e isso é factível usando javascript.

A melhor maneira que eu encontrei para fazer isso é criar uma página asp dummy que simplesmente tem o seguinte código javascript no cabeçalho:

<script type="text/javascript" language="JavaScript">

    document.cookie = "screen_w=" + screen.width;
        location.href = "second_page.asp"

</script>

Então, em second_page.asp você pode procurar o cookie, que foi definido na primeira página. Se você definir e, em seguida, solicitar na mesma página, ele não funcionará primeira vez.

myscreenwidth = Request.Cookies ( "screen_w")

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top