javascript
  • asynchronous
  • requirejs
  • 2014-12-04 82 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

    是的,當然......但我如何嘗試第二種替代方法,它將