これは私が持っているものです:
<script src="myscript.js" type="text/javascript"></script>
<script type="text/javascript">testfunction("hello");</script>
myscript.jsの内部:
if(!window.jQuery)
{
var script = document.createElement('script');
script.type = "text/javascript";
script.src = 'jquery-1.9.0.min.js';
document.getElementsByTagName('head')[0].appendChild(script);
}
function testfunction(str) {
$(document).ready(function () {
alert(str);
});
}
もちろん、現在のテスト関数にはjQueryは必要ありませんが、必要になります。このアプローチを使用すると、jQueryはダウンロードされますが、testfunction()を呼び出すときにブラウザーにロードされません(Uncaught ReferenceError:$は定義されていません)。
私にできることは、JSがロードされる前に別のスクリプトでjQueryをロードすることです。その場合は機能しますが、3つの異なるスクリプトがあり、正直なところ、それはエレガントではないようです。
これを達成する他の方法はありますか?
ありがとう!