私はこのコードを持っています:
function init(){
if (typeof window.jQuery !== 'function') {
var link = document.createElement('script');
link.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(link);
}
}
window.onload = init;
if (typeof window.jQuery === 'function') {
$(document).ready(function(){
alert(1);
});
}
私がやろうとしているのは、jQueryが存在しない場合にjqueryスクリプトのリンクを頭に追加してからコードを実行することです。最善の方法は、jquery がヘッドに存在するかどうかをできるだけ早く確認してから、ソースへのリンクを追加することです。しかし、私はそうする方法を知りませんか?
更新: 別のアプローチは、関数を使用することです:
function init(){
if (typeof window.jQuery !== 'function') {
var link = document.createElement('script');
link.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(link);
start_code();
}
else{
start_code();
}
}
window.onload = init;
function start_code(){
$(document).ready(function(){
alert(1);
});
}
基本的に、すべてがロードされた後に関数を呼び出すことができます..しかし、これはうまくいきません。$ is not defined エラーがスローされている原因