2010-10-29 62 views
1

我想要检查移动浏览器在向用户显示页面之前是否已启用javascript。我已经从我的研究中发现的代码是:检测是否在ASP.Net的移动浏览器上启用了JavaScript

System.Web.HttpBrowserCapabilities browser = Request.Browser; 
Response.Write(browser.EcmaScriptVersion.ToString()); 

因此,为了确保您的JavaScript在浏览器上启用,您需要检查wheather返回的值是等于或大于1。这工作正常更大但是当我在手机上测试时,返回的值始终为0.0,无论我的javascript是启用还是禁用。

有没有办法检查在浏览器中是否启用了javascript或者浏览器是否自己处理了无法使用的功能?

回答

2

我自己也有同样的问题。我们最终编写了一小段javascript,将隐藏变量的值设置为1,然后立即在欢迎页面上发布回服务器,然后将此提示存储在会话中。

它不是梦幻,而是所有不同的移动浏览器,我们发现他们的不同问题之间,这是唯一的一个。如果你想使用ASP.NET来试图确定我们能在

+0

这听起来像是对我来说合乎逻辑的计划。如果该值为1,则启用该值,否则无法执行更改并禁用JavaScript。让我试试看,并回复你。 – 2010-10-29 11:09:32

+0

你必须小心,因为许多浏览器可以支持这个测试,但他们不能支持其他功能 – fravelgue 2010-11-02 14:05:21

1

回复这个,确保你使用的是最新版本的Mobile Device Browser File。没有这个,ASP.NET对检测移动浏览器的支持非常有限。

但是,检测浏览器支持的唯一可靠方法是在页面上(在浏览器中)执行。最好的服务器可以告诉是,如果浏览器支持JavaScript,但不知道用户是否在浏览器设置中关闭了此功能。

在为移动网站实施时,您还需要注意不同的浏览器不能实现所有JavaScritp功能。这意味着简单地检测JavaScript可能是不够的。你需要测试你之后的个人功能。这绝对不能由任何当前可用的服务器端设备能力数据库完成。

在移动网页上使用JavaScript时,请使用渐进式增强功能。这将有助于确保您的网站可供更多人使用。

+1

重要说明:该项目不再支持,并将于2010年10月29日删除,http://mdbf.codeplex。 COM / – fravelgue 2010-11-02 14:03:02

相关问题