如何使用JQuery检查浏览器上的flash和javascript安装/启用/禁用

时间:2010-12-28 09:49:26

标签: jquery

我正在使用JQuery。

我有一个链接如下:

<li><a href="http://staging/english/Skywards/skywards.aspx" id="skywardsTopLoginLink">Login</a></li>

现在我希望检查网页加载是否已安装或禁用 Flash / javascript ,根据输出,登录链接将起作用,我的意思是如果禁用或未安装flash / javascript,那么它将转到上面的 Href ,否则它将打开 jQuery模型对话框以获取登录功能

2 个答案:

答案 0 :(得分:1)

要加载和检查Flash版本等,请使用并加载SWFObject这样(这只是一个示例,请查看their documentation了解更多详情):

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.registerObject("myId", "9.0.115", "expressInstall.swf");
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
</script>

<div id="myContent">
  <p>Alternative content</p>
</div>

如果JS未激活,请添加<noscript>标记。

Example about using this tag here

这会让你的代码像这样:

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.registerObject("myId", "9.0.115", "expressInstall.swf");
swfobject.embedSWF("myContent.swf", "myContent", "300", "120", "9.0.0");
</script>

<div id="myContent">
  <p>Alternative content for flash</p>
  <noscript>Alternative content for JS</noscript>
</div>

请注意,没有JS的人会看到这两条消息。

答案 1 :(得分:0)

尝试在onLoad上设置cookie,并在服务器端读取它。如果JS禁用,则不会有cookie。使用<noscript>标记通知用户启用它。


用户SWFObject检测Flash。如上所述:Cross Browser Flash Detection in Javascript

现在,有两件事。

如果您只想显示备用内容/链接,请使用http://www.w3schools.com/tags/tag_noscript.asp

中提及的<noscript>

如果您希望Web应用程序提供不使用JS工具的内容,您可能需要删除cookie。就像这里:http://www.w3schools.com/JS/js_cookies.asp尝试在服务器端代码中读取此cookie并设置此信息(在会话中),无论用户是否具有JS启用的浏览器。然后使用此信息为将来的页面/请求提供非JS内容。


意识到你有JQuery,你可以很好地使用这个插件http://plugins.jquery.com/project/Cookie