0

また、これらの変数を使用する 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>

2番目のスクリプトは、2番目のスクリプトにある変数を取得する必要があります..しかし、そうではありません..次に、それらの変数を取得しない理由について不平を言います

更新:以下の方法はどちらもうまくいきませんでした:

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

1 に答える 1

2

スクリプトはロード時に実行されるためです。scriptを使用してタグを追加しても、タグinnerHTML内のコードは実行されません。

于 2013-02-17T11:46:37.540 に答える