我在Header中有meta标签..
<meta http-equiv='refresh' content='0;url=http://stackoverflow.com/'>
是否可以使用jQuery动态删除它?
答案 0 :(得分:6)
为了在启用脚本支持时实现不同的行为,您应该在<noscript>
标记之间包含元刷新,如此
<noscript>
<meta http-equiv='refresh' content='0;url=http://stackoverflow.com/'>
</noscript>
并在加载DOM后实现所需的功能。有点像:
$(window).load(function() {
// here
})
确认使用最新的Firefox版本
答案 1 :(得分:5)
否强>
首先,加载jQuery库会花费太长时间,所以你必须使用直接的Javascript(如果有的话)。
其次,即使meta有一个id并且你在它之后立即放置了最简单的JS片段:
<meta id="stopMe" http-equiv='refresh' content='0;url=http://stackoverflow.com/'>
<script>
var meta = document.getElementById('stopMe');
meta.parentNode.removeChild(meta);
</script>
它仍然为时已晚,因为元中的content=0
意味着立即执行刷新,因此脚本永远不会被执行。如果您将脚本放在元素之前它将无法工作,因为没有DOM元素可供引用。
答案 2 :(得分:2)
据我所知,这没有任何意义。您显示的标题应该导致立即重定向,可能在任何JavaScript执行之前。
如果你可以使用jQuery来更新它,你可以这样做:
location.href = "http://new.target";
我不知道如何使用Meta标签执行此操作 - 它是否总是会击败Meta标签,总是会丢失它,或者导致浏览器的结果不一致。
或许告诉我们您的情况到底是什么以及为什么需要这样做。
答案 3 :(得分:-1)
对我有用的不是删除它,而是将值更改为非常大的数字,然后它将永远不会刷新如下:
$('meta').prop('content', '99999999');
答案 4 :(得分:-2)
试试这个:
$('meta[http-equiv="refresh"]').remove();