9

JavascriptでjQueryをロードする際に問題が発生します。クライアント側しかわからない条件があるので、Javascriptでロードする必要があります。コメントアウトされたコードはスクリプトを初期化することになっていますが、私はそれらに運がありません。

var script_tag = document.createElement('script');
script_tag.setAttribute("type","text/javascript");
script_tag.setAttribute("src","http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js")
//script_tag.onload = main; // Run main() once jQuery has loaded
//script_tag.onreadystatechange = function () { // Same thing but for IE
    //if (this.readyState == 'complete' || this.readyState == 'loaded') main();
//}
document.getElementsByTagName("head")[0].appendChild(script_tag);

http://mybsabusiness.com/samplesites/silver/sbsa01/

これは問題が発生しているサイトです。

4

1 に答える 1

16

jQuerifyブックマーレットから:

function getScript(url, success) {
    var script = document.createElement('script');
    script.src = url;
    var head = document.getElementsByTagName('head')[0],
        done = false;
    // Attach handlers for all browsers
    script.onload = script.onreadystatechange = function() {
      if (!done && (!this.readyState
           || this.readyState == 'loaded'
           || this.readyState == 'complete')) {
        done = true;
        success();
        script.onload = script.onreadystatechange = null;
        head.removeChild(script);
      }
    };
    head.appendChild(script);
}
getScript('http://code.jquery.com/jquery-latest.min.js',function() {
    // Yay jQuery is ready \o/
});​
于 2012-06-26T17:34:50.737 に答える