JS重定向开始之前页面上的代码转储

时间:2014-05-15 13:07:19

标签: javascript redirect browser

我在页面的window.location.href中有<head>重定向。当满足某个条件并且用户被重定向到类似页面时会发生这种情况,该页面使用相同的页眉和页脚模板(因此相同的JS代码再次出现 - 这对于可能的解决方案可能很重要)

有时,在物理重定向开始之前的一瞬间,我看到一堆代码在浏览器窗口中被转储。对我来说,这种情况大概发生在1/20次。对于其他一些我曾经问过的人,这种情况经常发生。

这是在页面上的其余JS被转储到那里,因为它在完全解析之前爆发或者......?我想有一个几百毫秒的时间浏览器继续在重定向行之后解析页面的其余部分。如何阻止此代码显示在页面上?

1 个答案:

答案 0 :(得分:1)

如果您坚持在客户端保留重定向 - 您可以将正文设置为display:none,然后在JavaScript条件的else分支中显示:

CSS

body{
    display:none;
}

JS:

if(someCondition){
    location.hred = "http://othersite";
} else {
    document.body.style.display = "block";
}

请注意,这样做的缺点是,对于没有启用JS的人显示空白页面,因此您可能希望为不那么激烈的人提供空白页面。标记比<body>