我正在开发一个逻辑,我希望在未启用JavaScript的情况下将用户重定向到特定页面。我已经放置了一个元标记,它将每隔几秒刷新一次,如果启用了JavaScript,我想使用JavaScript删除该元素。
我尝试了很多东西但是我没有成功删除标签。我还试图清空标签的内容,但它仍然重定向。
还有其他方法可以解决这个问题吗?
我发布了一些代码供您查看,我只是从网上抓取它,但在调试代码时似乎是在清空内容:
var m = $('meta');
for (var c = 0; c < m.length; c++) {
m[c].parentNode.removeChild(m[c]);
m[c].content = '';
}
我也对服务器端解决方案持开放态度,但客户端不会发送很多信息,例如是否启用了javaScript .......
答案 0 :(得分:6)
试试这个:
// THIS DOES NOT WORK
$( 'meta[http-equiv="refresh"]' ).remove();
这当然取决于你的jQuery代码执行的时间以及刷新触发的时间......
更新:上述方法不起作用。即使从DOM中删除元元素,浏览器仍然执行刷新。
现场演示: http://www.ecmazing.com/misc/test-removing-meta-element/
我相信你也应该能够做到这一点:
<noscript>
<meta http-equiv="refresh" content="...">
</noscript>
因此,如果将元素包装在NOSCRIPT元素中,则只应在禁用JavaScript时解析它。
在此处阅读NOSCRIPT元素:https://developer.mozilla.org/en/HTML/Element/noscript