我的网站有一个问题- http://toppages.co.uk (使用CakePHP框架构建)我想在页面加载完成后加载PageSpeed (谷歌javascript洞察建议),所以我将整个JavaScript移到了页脚。然后,在做了一些测试后,我发现JavaScript dones在放置到页脚时不能正常工作-它有时加载,但有时不加载。
我尝试了所有可能的解决方案-首先使用:document.onload = function..,然后尝试:<body onload="script();">,然后尝试使用"async"函数异步加载javascript -缺口有帮助。到目前为止,我找不到一种方法来让它工作。你知道是什么导致了这个问题吗?我该如何解决它?
发布于 2014-11-14 07:36:49
试一试
document.addEventListener('DOMContentLoaded', function(){
// code here
});显然,在IE7中没有很好的方法来判断,但这里有一个技巧,发现here
if (document.all && !window.opera){ //Crude test for IE
//Define a "blank" external JavaScript tag
document.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>')
var contentloadtag=document.getElementById("contentloadtag")
contentloadtag.onreadystatechange=function(){
if (this.readyState=="complete")
// do stuff here
}
}发布于 2014-11-14 08:00:18
我以前遇到过这个问题,当时我正在从谷歌加载jQuery,由于某种原因,它没有从谷歌加载。我不确定你是否有同样的问题,但你可以尝试类似这样的东西,如果不能从谷歌加载,那么加载本地。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
if (!window.jQuery) {
document.write('<script src="/script/jquery.1.11.0.min.js"><\/script>');
}
</script>发布于 2014-11-14 08:19:52
onload和onready之间的区别在于,onload负责特定的元素。onready正在处理整个页面。window.onload vs $(document).ready()
在这种情况下,我建议将jQuery添加到您的页面并使用
$(document).ready(function () {/*code you'd like to execute*/});
只需在body标记的底部插入<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>即可。
https://stackoverflow.com/questions/26920484
复制相似问题