93

以下のようなJavaScriptを介して動的にhtmlを追加しているhtmlページがあります

<script type="text/javascript" src="/myapp/htmlCode"></script>

js関数を呼び出したい(例:loadedContent(); 上記のスクリプトがダイナミックHTMLを追加すると。

誰かが私にそれを行う方法を手伝ってもらえますか?

4

8 に答える 8

157

head.js JavaScript を使用せずにこれを実現できます。

function loadScript( url, callback ) {
  var script = document.createElement( "script" )
  script.type = "text/javascript";
  if(script.readyState) {  // only required for IE <9
    script.onreadystatechange = function() {
      if ( script.readyState === "loaded" || script.readyState === "complete" ) {
        script.onreadystatechange = null;
        callback();
      }
    };
  } else {  //Others
    script.onload = function() {
      callback();
    };
  }

  script.src = url;
  document.getElementsByTagName( "head" )[0].appendChild( script );
}


// call the function...
loadScript(pathtoscript, function() {
  alert('script ready!'); 
});
于 2013-02-01T10:53:10.770 に答える
13

このようなことを試してください

var script = document.createElement('script');

if(script.readyState) {  //IE
script.onreadystatechange = function() {
  if ( script.readyState === "loaded" || script.readyState === "complete" ) {
    script.onreadystatechange = null;
    alert(jQuery);
  }
};
 } else{//others
script.onload = function() {
  alert(jQuery); 
}
}
script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"
document.documentElement.appendChild(script);
于 2013-02-01T10:51:15.290 に答える
4

実際にはloadedContent()、ロードしているスクリプトの最後の行として を配置するだけです (これは、JSONP の背後にある概念のようなものです)。

于 2013-02-01T10:49:51.370 に答える