Exploring the adaptive problem of client browser resolution (how to automatically adapt to client resolutions) (1)

xiaoxiao2021-03-06  61

Today, I saw an E article of Mencius. About the server-side article learned the client browser resolution, the simplification is as follows: <% @ page language = "c #" enableViewState = "false" debug = "TRUE "%> Detect client display resolution </ title> <meta http-equiv =" Content-type "content =" text / html; charset = GB2312 "> <meta content =" detection client resolution "Name =" description "> <script language =" c # "runat =" server "> void Page_load (Object Sender, System.EventArgs E) {// Place the user code here to initialize the page system.web.ui.webControls.Button Button1 = new system.web.ui.webControls.Button (); if (! ispostback) {system .Web.UI.HtmlControls.HtmlInputHidden btnW = new System.Web.UI.HtmlControls.HtmlInputHidden (); System.Web.UI.HtmlControls.HtmlInputHidden btnH = new System.Web.UI.HtmlControls.HtmlInputHidden (); Button1.ID = "Button1"; btnw.name = "widthpixel"; btnw.id = "widthpixel"; btnh.name = "heightpixel"; btnh.id = "heightpixel"; this.FindControl ("browserpeek). Controls.add (" browserpeek). Controls.add BTNW); this.FindControl ("Browserpeek"). Control s.Add (btnH); this.FindControl ( "browserpeek") Controls.Add (Button1);. string scriptString = ""; scriptString = "document.all.browserpeek.WidthPixel.value = window.screen.width; / r / n "; scriptString =" document.all.browserpeek.HeightPixel.value = window.screen.height; / r / n "; this.RegisterOnSubmitStatement (" Meng ", scriptString); this.MyBody.Attributes.Add ( "OnLoad", "</p> <p>Document.all. " Button1.ClientID ". Click (); ");} else {this.mybody.attributes.remove (" onLoad "); if (this.FindControl (" browserpeek). Controls.Contains (Button1 )) {this.FindControl ( "browserpeek") Controls.Remove (Button1);. Button1.Dispose ();} System.Text.StringBuilder strLabel = new System.Text.StringBuilder (); HttpBrowserCapabilities bc = Request.Browser; strLabel .Append ("The resolution of your browser is:"); strlabel.Append (Request.form ["widthpixel"]); strlabel.append ("×"); strlabel.Append (Request.form ["Heightpixel" ]); Label1.text = strlabel.tostring ();}} </ script> </ head> <body id = "mybody" runat = "server"> <form id = "browserpeek" runat = "server" name = "browserpeek"> <askSERPEEK> <ask: label id = "label1" runat = "server"> </ asp: label> </ form> </ body> </ html> The principle is: When the client opens the web page, automatically click "Analog Button", returns by the server based on the resolution of the client browser.</p> <p>Now my purpose is to put this script in global.asax: protected void session_start (Object sender, Eventargs e) {// is here} Let each visitors enter the website, first test a session ["Screenwidthpixel" ] And session ["ScreenHeightpixel"] If there is this value, no longer do the steps to detect the browser and go directly to the automatically adaptable web page. Otherwise, enter the browser resolution detection, then assign the result to session ["ScreenWidThpixel"] and session ["ScreenHeightpixel"].</p> <p>The problem is coming: 1, if some webpage already contains <form runat = "server" id = "....", the above method is not feasible. Because only one <form runat = "server" ...> is allowed in ASP.NET, if the file is submitted, if there is any other submission, there is also a negative impact. 2, there is also a way to use Server.Transfer or Response.Redirect ("getScreen.aspx"), but will also cause a certain negative impact, such as: Need to return the original page. 3. Consider using IHTTPHANDALE? Welcome everyone to discuss discussions, must be used. Because the current browser category is too much, you need to find a better solution.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-84742.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="84742" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.039</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'ouFN70ih_2BzS1o9DE_2FnVtIepL1Xt_2Bmmsul7mgciqTYwTgD615ME9b1Y_2B7Us0jzfLEMrnci6lYI1PShc8AfP0JCw_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>