0

そのため、編集できない静的な HTML ページがあり、それに jQuery を追加してから、ドキュメントの準備が整ったときに div 操作 (高さ) を行う必要があります。ページに挿入する方法を説明しているこの投稿を見つけました。これはうまく機能します。それを私のjavascriptファイルに追加すると、それがページに挿入されます。問題は、同じページの $(document).ready() に対していくつかのアクションを実行する必要があることですが、$ が未定義であると表示されます。

私がやりたいことは次のようなものです:

var script = document.createElement('script');
script.src = 'http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);

$(document).ready(function() {
   // Resize my div's to the browser window
});

しかし、私はそれを機能させることができないようです。これは可能ですか?どのように?

4

2 に答える 2

2
var script = document.createElement('script');
script.src = 'http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js';
script.type = 'text/javascript';
script.onload = resize;                    //most browsers
script.onreadystatechange = function() {   //ie
    if (this.readyState == 'complete') {
        resize();
    }
}

document.getElementsByTagName('head')[0].appendChild(script);

function resize() {
   //code goes here
}
于 2013-02-16T07:14:19.833 に答える
0

これは、JSjQueryファイルがロードされる前に発生するreadyイベントが原因です。これはそれを行う方法についての良いチュートリアルです。

http://www.ejeliot.com/blog/109

このようにjQueryをロードしても、これはページのパフォーマンスには役立ちません。最高のユーザーエクスペリエンスを実現するには、JSを最小限に抑え、リクエストをできるだけ少なくする必要があります。

また、書く必要はありません

$(document).ready(function() { });

あなたはただ書くことができます

$(function() { });
于 2013-02-16T07:14:06.927 に答える