1

我正在研究一个逻辑,如果未启用 JavaScript,我希望将用户重定向到特定页面。我已经放置了一个元标记,它将每隔几秒钟刷新一次,如果启用了 JavaScript,并且我想使用 JavaScript 删除该元素。

我尝试了很多东西,但我没有成功删除标签。我也尝试清空标签的内容,但它仍然重定向。

有没有其他方法来处理这个问题?

我正在发布一些代码供您查看,我只是从网上抓取它,但是当我通过代码进行调试时似乎正在清空内容:

var m = $('meta');

for (var c = 0; c < m.length; c++) {
    m[c].parentNode.removeChild(m[c]);
    m[c].content = '';
}

我也对服务器端解决方案持开放态度,但客户端不会发送太多信息,例如是否启用了 javaScript.......

4

1 回答 1

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

于 2012-06-15T16:33:05.017 回答