簡體   English   中英

動態注入javascript並使用它

[英]Injecting javascript dynamically and using it

我還動態創建一個使用這些變量的javascript文件:

      function callbackF(data){
          console.log(data.script);

          document.getElementsByTagName('head')[0].innerHTML=data.script;

        var script = document.createElement("script");
    script.setAttribute("src", "http://widget.example.com/sprk.1.0.2.js");
    script.setAttribute("type", "text/javascript");
    script.setAttribute("id", "grazit_script");
    document.getElementsByTagName('head')[0].appendChild(script);
        }

這就是我的想法:

這是打印到控制台日志的內容:

<script type='text/javascript'>var dbnwid=16476; var dbnpid=23369; var dbnwebid=19720; var dbnlayout=21; var dbncolor='#000000'; var dbntitlefontsize='14'; var dbnbgcolortype=1; var dbnheader='You might enjoy reading:'; var dbnremindercolor=2; var dbn_protocol = (('https:' == document.location.protocol) ? 'https://' : 'http://'); </script> 

然后腳本:

<script src="http://widget.example.com/sprk.1.0.2.js" type="text/javascript" id="grazit_script"></script>

第二個腳本應該獲取第二個腳本中的變量..但它不會......然后它會抱怨為什么它不會獲取這些變量

更新:下面這兩種方式對我來說都不起作用:

  eval(data.script);
           var ss= new Function(data.script)();

因為腳本在加載時運行。 使用innerHTML添加script標記不會運行標記內的代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM