首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >铬过早启动

铬过早启动
EN

Stack Overflow用户
提问于 2015-03-29 16:57:40
回答 1查看 1.6K关注 0票数 0

它看起来像铬浏览器使用onload/windows.onload类似于document.onload (参见:window.onload vs document.onload )

这会导致chrome过早重新加载页面的问题,因此,我的页面上有一个循环。Firefox和IE没有这个问题。

我有以下代码来创建cookie (这不是我自己的代码,它来自一个名为“”的软件):

代码语言:javascript
复制
<script type="text/javascript">
  <!--
document.write(unescape("%3Cscript id='pap_x6hetgh' src='" + (("https:" == document.location.protocol) ? "https://" : "http://") + 
"www.example.com/papscript/scripts/trackjs.js' type='text/javascript'%3E%3C/script%3E"));//-->
</script>

我必须重新加载页面,这就是为什么我使用以下代码(为了更好地阅读,我将checkCookie代码减少了一点):

代码语言:javascript
复制
<script>
function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}
function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}
function checkCookie() {
    var user = getCookie("PAP");
    if (user != "") {
    } 
	else {
		 window.location.reload();

        }
    }
</script>

代码语言:javascript
复制
<body onload="checkCookie();">

我正在寻找一个解决这个问题的方法。关于铬的负载问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-29 17:22:25

有几件事让我大吃一惊。让我们从简单的开始,因为这是最有可能的问题。

您的js直接在页面中,而不是绑定到任何事件。这是一个很大的反模式,因为对于每个浏览器来说,原始js的精确时间是不同的,而且从来没有保证。所以,让我们开始解决你的问题,解决这个问题。

像这样在页面上创建一个新的脚本标记,并完全删除document.write代码。

代码语言:javascript
复制
<script id='pap_x6hetgh' src='//www.example.com/papscript/scripts/trackjs.js' type='text/javascript'> </script>

我打赌你会发现它神奇地起作用的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29332044

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档