Ich entwickle eine Umfrage Einladung, die in vielen Websites eingebettet werden kann. Um die Einladung zu präsentieren, verwende ich Modalbox, eine Javascript-Bibliothek, die eine animierte modale Box über einem halbtransparenten Overlay zeigt.Dynamisch Upgrade/Ersetzung der Prototypbibliothek
Diese Modalbox-Bibliothek hängt von den Bibliotheken Prototype und script.aculo.us/effects ab. Die Einladung wird dynamisch in Websites eingebettet, die ich nicht besitze und deren Markup nicht statisch geändert werden kann.
Bei der Ladezeit I (in JS) überprüfen, ob Prototype wie geladen wird:
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>');
}
Alle funktionieren gut mit den meisten Websites, da sie in der Regel nicht Prototype.js noch script.aculo laden. uns. Es gibt einige Seiten, die sie laden und ich muss sie nicht laden und wieder funktioniert es.
JEDOCH ... es gibt Websites, die sie bereits geladen haben aber ältere Versionen (Modalbox erfordert Prototype 1.6.0 und 1.8.0 script.aculo.us) wie 1.4.0/1.5.1
Wie kann ich Prototypen und/oder script.aculo.us in Javascript dynamisch entladen/ersetzen? Ist es möglich?