脚本添加了document.write与jQuery追加

时间:2010-02-10 06:33:16

标签: javascript

我花时间回顾了很多关于这个主题的讨论,但没有找到我的问题的答案。

在我的网站中,我正在尝试优化我的网页加载速度,我想要做的一种方法是将我的广告脚本移到页面底部,以允许我的内容首先加载。我仍然希望广告显示在页面中间。

广告代码目前位于页面中间的脚本块中,看起来像这样

<div id="topAd">
  <script>

  document.write('<s' + 'cript lang' + 'uage="jav' + 'ascript" src="' + src + '"></' + 'scr' + 'ipt>');
  </script>
</div>

我想要做的是在页面底部的这样的事情

<script>
  var script = document.createElement('script');
  script.src = src;
  jQuery('#topAd').append(script);
</script>

不幸的是,这总是会在页面底部加载内容,而不是在“topAd”div中。任何人都可以解释为什么会这样吗?

3 个答案:

答案 0 :(得分:2)

您的广告脚本正在使用document.write生成内容,因此它会在调用后显示在页面上已有的任何内容之后显示。
您可以将原始内容放在底部,然后移动它吗?

<div id="yourRequiredDiv"></div>

<!-- more content -->

<div id="topAd">
  <script>

  document.write('<s' + 'cript lang' + 'uage="jav' + 'ascript" src="' + src + '"></' + 'scr' + 'ipt>');
  </script>
</div>

<script type="text/javascript">
    $('#yourRequiredDiv').append( $('#topAd') );
</script>
</body>

那会有用吗?

答案 1 :(得分:1)

您的脚本必须是:

<script type="text/javascript">
var topad = $('#topAd');
    $('#yourRequiredDiv').append( topad );
</script>

答案 2 :(得分:-2)

尝试使用iFrame。

  1. 在您自己的域上创建一个提供广告脚本标记的网页。
  2. 用iframe替换广告div。
  3. 在底部添加一个脚本标记,用于替换iframe的位置,以便iframe服务于在第一步中创建的页面。

    document.getElementById('iframeId').contentWindow.location.replace('your-page-that-serves-the-ad-script');