代码之家  ›  专栏  ›  技术社区  ›  Adrian Adkison

使用document.write与jQuery append进行脚本添加

  •  1
  • Adrian Adkison  · 技术社区  · 16 年前

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

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

    AD代码当前位于页面中间的一个脚本块中,看起来像这样。

    <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”分区内。有人能解释为什么会发生这种情况吗?

    3 回复  |  直到 16 年前
        1
  •  2
  •   meouw    16 年前

    您的广告脚本正在使用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>
    

    这样行吗?

        2
  •  1
  •   Andrew Whitaker    15 年前

    您的脚本必须是:

    <script type="text/javascript">
    var topad = $('#topAd');
        $('#yourRequiredDiv').append( topad );
    </script>
    
        3
  •  -2
  •   Oscar Kilhed    16 年前

    1. 在您自己的域上创建一个为广告脚本标记服务的页面。
    2. 用iFrame替换ad div。
    3. document.getElementById('iframeId').contentWindow.location.replace('your-page-that-serves-the-ad-script');