javascript
  • asynchronous
  • requirejs
  • 2014-12-04 55 views 0 likes 
    0

    我有一个模块,需要执行document.write操作才能在页面加载后打印横幅。使用RequireJS模块的“document.write”的问题

    如果我用老派的方式做这个,我没有问题。 横幅打印在div内。

    <div id="banner"> 
        <script> addAdvert() </script> 
    </div> 
    
    <script> 
    function addAdvert(){ 
        srcScript = 'http://www.urltoscript.js'; 
        document.write('<script type=\"text/javascript\" src=\"'+srcScript+'" ><\/script>'); 
    } 
    </script> 
    

    但如果我尝试这个使用需要的js模块(种本):

    addAvert: function() { 
          var srcScript = options.urltoScript 
          document.write('<script type=\"text/javascript\" src=\"'+srcScript+'" ><\/script>'); 
    } 
    

    它会执行该文件撰写和渲染所有的文档打印只对整个文档的旗帜。 ..

    我也尝试这种另类:

    addAvert: function() { 
        var srcScript = options.urltoScript 
    
          var bsa = document.createElement('script'); 
          bsa.type = 'text/javascript'; 
          bsa.async = true; 
          bsa.src = srcScript; 
          $("#banner").append(bsa); 
    } 
    
    +1

    如果你可以帮忙,你真的想避免使用'document.write'。 – Andy 2014-12-04 09:23:32

    +0

    是的,当然......但我如何尝试第二种替代方法,它将