私は(c#と同様に)このような何かをしたいと思い:私はそれをロードし、それをロードした後に実行を継続したいと思いますhead
でscript
にないjavascriptで `using`を実装する方法は?
using("content/jquery.js");
$("div").fadeOut();
のでcontent/jquery.js
場合。
これを実装することは可能ですか、それとも類似していますか?注:1を超える可能性がありますusing
私は(c#と同様に)このような何かをしたいと思い:私はそれをロードし、それをロードした後に実行を継続したいと思いますhead
でscript
にないjavascriptで `using`を実装する方法は?
using("content/jquery.js");
$("div").fadeOut();
のでcontent/jquery.js
場合。
これを実装することは可能ですか、それとも類似していますか?注:1を超える可能性がありますusing
あなたが前もって呼び出すことになります機能の名前を知っている場合は、その存在を確認するためにtypeof
を使用することができます。
if (typeof($) == 'function') {
// Code here that uses jQuery
} else {
// Something else here that loads the script.
}
あなたが使用することがありますどのような機能を特定していない場合はスクリプト要素のリストを取得してチェックすることをお勧めします。これらの行にもっと何か:
var scripts = document.getElementsByTagName('script');
for (var i = 0, l = scripts.length; i < l; ++i) {
if (scripts[i].src == myVal) {
// do something here
} else {
// wait for the script to load, or just leave off the else.
}
}
頭の上から私が考えることができる2つのアプローチはありますか?
あなたはgetScriptを使用することができます。
$.getScript('test.js', function() {
alert('Load was performed.');
});
1良い答えを。この例ではOPがjQueryをロードしようとしているので、これはjQueryを使用しているので面白いです。しかし、あなたはそれをすべて始めるいくつかのスクリプトを持っていなければなりません、それはちょうどあなたのニーズに依存します。 –
ええ、私もそれを見ましたが、彼が何を望んでいたのか分かりませんでした。 JSファイルを動的にロードするには[その他の方法](http://www.javascriptkit.com/javatutors/loadjavascriptcss.shtml)や[その他の方法](http://unixpapa.com/js/dyna.html)がありますがjQueryはコールバックを提供するので、おそらくそれは良いでしょう。 – vol7ron
ソースコードを見ると、 'getScript'が' head'にスクリプトを挿入し、 'script'で' onload'イベントを使ってコールバック関数を実行しているようです...面白いです。 – BrunoLM
はsupplyJSを忘れないでください:私は忘れO)https://github.com/jAndreas/Supply – jAndy