我正在开发一个使用javascript在表单中执行某些算术计算的应用程序。我想检查用户浏览器中是否启用了javascript。如果禁用,则将用户重定向到警告页面,要求启用javascript。我知道<noscript>
标签。仅仅为我显示消息是不够的。我不想显示需要启用javascript的表单。我不喜欢get_browser()
函数,因为它需要与PHP没有捆绑的browscap.ini文件。当我在另一台服务器上安装应用程序时,我不想记住这个文件。有没有其他好的方法来检查是否启用了javascript?
答案 0 :(得分:8)
另一种方式更简单。您的页面默认显示“请启用Javascript”,您在Javascript中执行的第一件事就是删除该消息并执行您需要执行的操作。
答案 1 :(得分:2)
不,但是您可以简单地使用javascript在'load'事件中添加表单,这应该做同样的事情..(编辑:意味着您在页面中嵌入了错误消息,然后将其替换为表单通过javascript)
答案 2 :(得分:2)
如果有人感兴趣,我就这样处理问题:
<head>
<style type="text/css">
#content {display: none;}
</style>
<script type="text/javascript">
document.write('<style type="text/css">#content {display: inline;}</style>');
</script>
</head>
<body>
<noscript>Turn on JavaScript!</noscript>
<div id="content">
// some code
</div>
</body>
感谢大家发表评论和回答。
答案 3 :(得分:1)
使用JS添加JS控件。然后将此方法与<noscript>Warning</noscript>
标记内的回退警告结合使用。
此外,或者,YUI的Luke Smith开发了CSS solution if script is available。
我经常在高端网站上使用script2style,它还会阻止在解析包含'x {display:none}'
的CSS文件之前屏幕上显示的内容。
答案 4 :(得分:0)
最好的方法是使用noscript并显示一条消息,说明他/她需要启用javascript。你说你想重定向。但是在客户端,没有javascript就不可能重定向(HTTP重定向可用,但一旦启动就不可取消,这意味着如果有javascript,它仍然会重定向)。 Web服务器也无法知道浏览器是否实际启用了javascript。您可以查看浏览器是否一般支持javascript,但用户可以随时关闭javascript。
根据您的网站,如果一个条目进入需要javascript的页面,则会在该页面上显示您将获得链接(或表单)的javascript页面到javascript页面。加载前一页时,尝试运行一些javascript来稍微更改网址或表单。然后,如果真实页面加载url是修改后的url,则启用javascript,否则不启用。