19. november 2002 - 11:38
Der er
16 kommentarer og 1 løsning
screen size i asp.net
Hej alle, Har et lille problem. Jeg har et javascript kode til at finde brugeren screen størrelse. Disse værdier vil jeg gerne have overført til min asp.net kode. Har prøvet lidt forskelligt , men ved ikke hvordan jeg fanger værdierne. her er javascript kode. (skal muligvis laves lidt om) jeg skal have fat i myWidth og myHeight <script type="text/javascript" language="JavaScript"> <!-- function alertSize() { var myWidth = 0, myHeight = 0; if( typeof( window.innerWidth ) == 'number' ) { myWidth = window.innerWidth; myHeight = window.innerHeight; } else { if( document.documentElement && ( document.documentElement.clientWidth ||document.documentElement.clientHeight ) ) { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else { if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; } } } document.write( 'Width = ' + myWidth + ' and height = ' + myHeight ); } alertSize() //--> </script>
Annonceindlæg fra Cepheo
19. november 2002 - 11:52
#1
19. november 2002 - 12:24
#2
Spændednde, Men det giver dig stadig ikke mulighed for at fange værdierne (bredde og højde) i din asp.net kode.
19. november 2002 - 12:31
#3
cort>> du skal have lavet nogle hidden inputs på din side, som er sat til runat="server". Husk også at lave en form omkring hele siden der er sat til runat="server" også... det du så gør, istedet for at bruge document.write er at du skal tildelde dit hidden input dine to værdier, og derfefter poste din side så du kan bruge dem på serversiden det kunne være noget i denne retning <script type="text/javascript" language="JavaScript"> <!-- function alertSize() { var myWidth = 0, myHeight = 0; if( typeof( window.innerWidth ) == 'number' ) { myWidth = window.innerWidth; myHeight = window.innerHeight; } else { if( document.documentElement && ( document.documentElement.clientWidth ||document.documentElement.clientHeight ) ) { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else { if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; } } } document.getElementById("screenWidth").Value = myWidth; document.getElementById("screenHeigt").Value = myHeight; document.myForm.submit(); } alertSize() //--> </script> <form id="myForm" runat="server"> <input type="hidden" id="screenWidth"> <input type="hidden" id="screenHeight"> </form>
19. november 2002 - 12:57
#4
hvorfor kan siden ikke finde disse: document.getElementById("screenWidth").Value = myWidth; document.getElementById("screenHeigt").Value = myHeight; det burde da virke, hmm.
19. november 2002 - 13:04
#5
fordi screenHeight er stavet forkert ?
19. november 2002 - 13:05
#6
ja har set det men det virkar stadig ikke, kan du kører det hos dig?
19. november 2002 - 13:09
#7
det skal se sådan her ud right. siden hedder screensize.aspx Prøv at se om en af jer kan kører det. <html> <head> <script type="text/javascript" language="JavaScript"> <!-- function alertSize() { var myWidth = 0, myHeight = 0; if( typeof( window.innerWidth ) == 'number' ) { myWidth = window.innerWidth; myHeight = window.innerHeight; } else { if( document.documentElement && ( document.documentElement.clientWidth ||document.documentElement.clientHeight ) ) { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else { if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; } } } document.getElementById("screenWidth").Value = myWidth; document.getElementById("screenHeight").Value = myHeight; document.myForm.submit(); } alertSize(); //--> </script> </head> <body> <form name="myForm" method="post" action="screensize.aspx" id="myForm"> <input type="hidden" name="__VIEWSTATE" value="dDwtMjA5MTc5NjMwMTs7PvZyQpJQX9eF0J7YiwTIMEaYV7TZ" /> <input name="screenWidth" id="screenWidth" type="hidden" /> <input name="screenHeight" id="screenHeight" type="hidden" /> </form> </body> </html>
19. november 2002 - 13:09
#8
sorry her ar aspx koden. <html> <head> <script type="text/javascript" language="JavaScript"> <!-- function alertSize() { var myWidth = 0, myHeight = 0; if( typeof( window.innerWidth ) == 'number' ) { myWidth = window.innerWidth; myHeight = window.innerHeight; } else { if( document.documentElement && ( document.documentElement.clientWidth ||document.documentElement.clientHeight ) ) { myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else { if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; } } } document.getElementById("screenWidth").Value = myWidth; document.getElementById("screenHeight").Value = myHeight; document.myForm.submit(); } alertSize(); //--> </script> </head> <body> <form id="myForm" runat="server"> <input type="hidden" id="screenWidth" runat="server"> <input type="hidden" id="screenHeight" runat="server"> </form> </body> </html>
19. november 2002 - 15:30
#9
hmm detter her virker: <HTML> <HEAD> <SCRIPT language="JavaScript"> function CheckBrowserSize(){ if (document.layers) { width = window.innerWidth - 16; height = window.innerHeight - 16; } else if (document.all || document.getElementById) { width = document.body.clientWidth - 16; height = document.body.clientHeight - 16; } document.forms[0].elements['screenWidth'].value=width; document.forms[0].elements['screenHeight'].value=height; } </SCRIPT> </HEAD> <BODY ONLOAD="CheckBrowserSize()"> <FORM runat="server"> <input type="hidden" name="screenWidth" id="screenWidth" runat="server"> <input type="hidden" name="screenHeight" id="screenHeight" runat="server"> <input type="submit"> </FORM> </BODY> </HTML> Men hvis det skal bruges i en user control, så virker det ikke, satans
21. november 2002 - 13:09
#10
Det ville nok være bedst hvis du gemmer det i en session, på den måde vil du kunne bruge det på alle dine sider
21. november 2002 - 13:12
#11
Lyder som en god ide, men hvordan gøres det ? Altså hvordan overfører du dine javascript værdier til .net session object?
21. november 2002 - 19:14
#12
Jeg har bixet et lille script sammen... Har tester det i NS6.2, NS4, IE6, Mozilla 1.0 og Phoenix 0.4 -------------------------------------------------------------------- <%@ page Language="c#" runat="server" %> <script Language="c#" runat="server"> void setSession() { Response.Clear(); Response.Write("<html><script LANGUAGE=\"JavaScript\">"); Response.Write("window.location = window.location.pathname + '?' + location.search.substring(1) + '&screenWidth=' + screen.width + '&screenHeight=' + screen.height;</"); Response.Write("script></html>"); Response.End(); } void Page_Load(Object Sender, EventArgs e) { if (Request.QueryString["sceenWidth"] != "") { Session["screenWidth"] = Request.QueryString["screenWidth"]; Session["screenHeight"] = Request.QueryString["screenHeight"]; } if (Session["screenWidth"] == null) { setSession(); } } </script> <html> <head> </head> <body> Du bruger <%= Session["screenWidth"] %> * <%= Session["screenHeight"] %> </body> </html> --------------------------------------------------------------------------
21. november 2002 - 19:16
#13
Det skal lige sige at scriptet virker lige meget hvordan ULR'en ser ud altså med eller uden noget i querystring eks.: side.aspx?ID=38
Eller hvis den ligger i en underfolder eks.:
www.domain.dk/underforlder/side.aspx?ID=38
21. november 2002 - 19:32
#14
spændende, men værdierne skal ikke liggei url´en. Men måske det kan ændres rimeligt nemt.
21. november 2002 - 19:34
#15
De som sessioner! hvad mere kan du forlange!!! <%= Session["screenWidth"] %> * <%= Session["screenHeight"] %> Du kan kun måle screen size på klienten... de overføres så via querystring og gemmes som sessioner... Du kan sagtens bruge sessions på alle dine sider
21. november 2002 - 19:35
#16
Der skulle stå: De gemmes som sessioner
21. november 2002 - 19:57
#17
christian>> arr, sikker... asp.net... det kan da alt, kan det ikke? kan du ikke også lave et stykke kode til mig der kan lave frisk kaffe til mig hver morgen?
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.