2008-09-23 4 views

Répondre

4

Non, le serveur ne sait rien sur le client autre que les informations de base telles que l'IP et la version du navigateur. La résolution de l'écran peut facilement être déterminée via javascript et transmise au serveur, en utilisant ajax, ou via la soumission de formulaire.

0

Non, cela n'est pas possible pour les navigateurs de bureau. Je suggère d'incorporer une image appropriée pour les résolutions d'écran typiques, puis de détecter la taille du canevas et de réécrire l'attribut src de l'image pour refléter cela.

Dans tous les cas, vous ne voulez pas voulez regarder la résolution de l'écran, vous voulez regarder la taille de la toile. Pas tout le monde utilise leur navigateur avec une fenêtre agrandie, en particulier ceux avec de grands écrans. Si vous utilisez la résolution d'écran, vous finirez par diffuser des images trop volumineuses pour certaines personnes.

0

Vous ne pouvez pas obtenir la taille de l'écran de l'utilisateur uniquement la taille de la fenêtre du navigateur, et cela est possible en utilisant javascript.

+0

incorrect. Voir le lien que Phunchak a posté (le premier) – Kolten

2

Voici ma solution simple:

code javascript:

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

Code asp:

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

Cela aura des problèmes de synchronisation en fonction de la façon dont votre asp classique génère la sortie html/js pour la page. Pouvez-vous développer votre solution en termes de flux du cycle de vie de la demande/réponse? – GWR

0

La meilleure façon que je l'ai trouvé pour ce faire est de créer un asp factice page qui a simplement le code javascript suivant dans l'en-tête:

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

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

</script> 

Ensuite, dans second_page.asp, vous pouvez rechercher le cookie, qui a été défini dans la première page. Si vous définissez et demandez ensuite dans la même page, cela ne fonctionnera pas la première fois.

myscreenwidth = Request.Cookies ("SCREEN_W")