首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让JavaScript在页面加载后加载-尝试了所有解决方案

问如何让JavaScript在页面加载后加载-尝试了所有解决方案
EN

Stack Overflow用户
提问于 2014-11-14 07:35:31
回答 3查看 343关注 0票数 0

我的网站有一个问题- http://toppages.co.uk (使用CakePHP框架构建)我想在页面加载完成后加载PageSpeed (谷歌javascript洞察建议),所以我将整个JavaScript移到了页脚。然后,在做了一些测试后,我发现JavaScript dones在放置到页脚时不能正常工作-它有时加载,但有时不加载。

我尝试了所有可能的解决方案-首先使用:document.onload = function..,然后尝试:<body onload="script();">,然后尝试使用"async"函数异步加载javascript -缺口有帮助。到目前为止,我找不到一种方法来让它工作。你知道是什么导致了这个问题吗?我该如何解决它?

EN

回答 3

Stack Overflow用户

发布于 2014-11-14 07:36:49

试一试

代码语言:javascript
复制
document.addEventListener('DOMContentLoaded', function(){
    // code here
});

显然,在IE7中没有很好的方法来判断,但这里有一个技巧,发现here

代码语言:javascript
复制
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
  }
}
票数 0
EN

Stack Overflow用户

发布于 2014-11-14 08:00:18

我以前遇到过这个问题,当时我正在从谷歌加载jQuery,由于某种原因,它没有从谷歌加载。我不确定你是否有同样的问题,但你可以尝试类似这样的东西,如果不能从谷歌加载,那么加载本地。

代码语言:javascript
复制
<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>
票数 0
EN

Stack Overflow用户

发布于 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>即可。

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

https://stackoverflow.com/questions/26920484

复制
相关文章

相似问题

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