0

我有一个加载时滞后的网页,因为正在尝试处理脚本。脚本为添加服务创建 iframe。我的网页按顺序加载,但脚本延迟了整个页面,因为它出现在顶部......

是否可以最后加载脚本,但仍然显示在页面顶部?

编辑:我试过这个,但它不起作用:

<script type="text/JavaScript">
  window.onlaod=function(){
  var root = document.body.getElementById('top-banner');
  var oJs = document.createElement('script');
  oJs.setAttribute('type','text/JavaScript');
  oJs.setAttribute('src','http://anetwork.ir/showad/?adwidth=468&adheight=60&aduser=1341223032');
  root.appendChild(oJs);
  }
</script>

top-banner 是我要展示广告的 div 的 ID。它是空的。

4

3 回答 3

0

如果您在执行脚本时遇到问题,您应该使用函数来调用该脚本,因此,如果您有脚本的函数或者它是自动的,您应该将导致问题的脚本放在函数内部。

完成后,您可以onload在标签中添加属性,body然后调用function创建iframe

<body onload="createIframe()">...</body>

像这样,您的脚本将在加载body完成后加载。

编辑:

像这样修改您的脚本并保持之前显示的正文 onload:

<script type="text/JavaScript">
function createIframe(){
  var root = document.getElementById('top-banner');
  var oJs = document.createElement('script');
  oJs.setAttribute('type','text/JavaScript');
  oJs.setAttribute('src','http://anetwork.ir/showad/?adwidth=468&adheight=60&aduser=1341223032');
  root.appendChild(oJs);
}
</script>
于 2012-08-13T10:01:01.780 回答
0

您需要将script标签移动到页面的末尾(</body>例如,就在标签之后)。如果您想使用 javascript 代码修改页面的先前元素,则需要使用 javascript 代码进行修改。

也就是说:例如,如果您想从服务器加载数据并显示其格式,则必须显示 HTML,然后在加载脚本和数据时“解析”结果并在 HTML 中“插入”使用 javascript 函数。

于 2012-08-13T10:01:16.617 回答
0

如果您希望最后加载特定的 JS 代码:

if (typeof jQuery !== 'undefined') {
    (function($) {
        //use window.bind to load the tinymce per last. Otherwise will throw error
        $(window).bind("load", function() {
           // code here will load after page is loaded
        });
    })(jQuery);
}
于 2016-06-09T09:45:28.367 回答