我想在向用户显示页面之前检查移动浏览器是否启用了javascript。我从研究中发现的代码是:
System.Web.HttpBrowserCapabilities browser = Request.Browser;
Response.Write(browser.EcmaScriptVersion.ToString());
因此,为了确保在浏览器上启用javascript,您需要检查返回的值是否等于或大于1.这适用于普通浏览器,但是当我在手机上测试时,返回值始终为0.0,无论我的javascript是启用还是禁用。
有没有办法检查移动浏览器上是否启用了javascript,还是浏览器会自行处理无法使用的内容?
答案 0 :(得分:2)
我自己也有同样的问题。我们最终编写了一小段javascript,它将表单中隐藏变量的值设置为1,并在欢迎页面上立即回发到服务器,然后将此提示存储在会话中。
它不是很棒,但在所有不同的移动浏览器之间,以及我们发现的不同问题,它是我们唯一可以回复的问题
答案 1 :(得分:1)
如果要使用ASP.NET来尝试确定这一点,请确保使用的是最新版本的Mobile Device Browser File。如果没有这个,ASP.NET对检测移动浏览器的支持非常有限。
但是,检测浏览器支持的唯一可靠方法是在页面上(在浏览器中)执行此操作。如果浏览器支持JavaScript但是不知道用户是否在浏览器设置中将其关闭了,那么服务器可以判断的最好的是。
在实施移动网络时,您还需要注意不同的浏览器不会实现所有JavaScritp功能。这意味着简单地检测javascript可能还不够。您需要测试您所追求的个人功能。任何当前可用的服务器端设备功能数据库都无法做到这一点。
在移动网页上使用JavaScript时,请使用渐进增强功能。这有助于确保您的网站可供更多人使用。