我正在使用JQuery。
我有一个链接如下:
<li><a href="http://staging/english/Skywards/skywards.aspx" id="skywardsTopLoginLink">Login</a></li>
现在我希望检查网页加载是否已安装或禁用 Flash / javascript ,根据输出,登录链接将起作用,我的意思是如果禁用或未安装flash / javascript,那么它将转到上面的 Href ,否则它将打开 jQuery模型对话框以获取登录功能
答案 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