Я разрабатываю приглашение на опрос, которое можно встраивать во многие сайты. Чтобы представить приглашение, я использую 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
Как я могу динамически выгрузить / заменить прототип и / или script.aculo.us в Javascript? Возможно ли это?