我正在开发一个可以嵌入许多网站的调查邀请。为了展示邀请,我使用了Modalbox,这是一个在半透明覆盖层上显示动画模式框的 javascript 库。
这个 Modalbox 库依赖于 Prototype 和 script.aculo.us/effects 库。邀请将动态嵌入到我不拥有且无法静态修改其标记的网站中。
在加载时,我检查(在 JS 中)Prototype 是否加载如下:
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。有一些网站可以加载它们,我不必加载它们,它又可以工作了。
但是......有些网站已经加载了它们但有旧版本(Modalbox 需要 Prototype 1.6.0 和 script.aculo.us 1.8.0),例如 1.4.0 / 1.5.1
如何在 Javascript 中动态卸载/替换原型和/或 script.aculo.us?是否可以?