多くのサイトに埋め込むことができる調査への招待を開発しています。招待状を提示するために、半透明のオーバーレイ上にアニメーション化されたモーダル ボックスを表示する JavaScript ライブラリであるModalboxを使用しています。
この Modalbox ライブラリは、Prototype および script.aculo.us/effects ライブラリに依存しています。招待状は、私が所有していないサイトに動的に埋め込まれ、マークアップを静的に変更することはできません。
ロード時に、Prototype が次のようにロードされているかどうかを (JS で) チェックします。
if (typeof Prototype == "undefined") {
document.write('<script type="text/javascript" src="http://mysite.com/lib/prototype.js"><\/script>');
}
if (typeof Effect == "undefined") {
document.write('<script type="text/javascript" src="http://mysite.com/lib/scriptaculous.js?load=effects"><\/script>');
}
通常、Prototype.js も script.aculo.us も読み込まないため、ほとんどのサイトですべてうまく機能します。それらをロードするサイトがいくつかありますが、それらをロードする必要はなく、再び機能します。
ただし... 1.4.0 / 1.5.1 などの古いバージョン (Modalbox には Prototype 1.6.0 と script.aculo.us 1.8.0 が必要) が既に読み込まれているサイトがあります。
Javascript でプロトタイプや script.aculo.us を動的にアンロード/置換するにはどうすればよいですか? 出来ますか?