Eine Stunde Kopfschmerzen: Ich lade per jQuery-Ajax den Inhalt einer neue Seite und füge ihn nach dem Laden über diese Zeile ins DOM ein. Das Problem: Alles JavaScripte des neuen, geladenen Dokumentes werden im IE8 automatisch ausgeführt, sobald er den Befehl $(‚.content‘, data) ausführt.
Bei unserem Projekt führte das zu Problemen, da über swfobject ein Flash-Film im DOM eingefügt wurde und so bei jedem Nachladen eines Inhaltes über AJAX auch der Flash-Film neu eingebettet wurde und von vorne startete:
// Laden des Inhalts per jQuery AJAX
$.ajax({ url: 'http://www.meineurl.de', success: function (data) {
$('.content').html( $('.content', data).html() );
}});
Damit es keinen Reload des Flash-Films gibt, bestand die Lösung darin, über eine RegEx alle Script-Tags aus der Ajax-Rückgabe zu entfernen und dann erst zu parsen bzw. ins DOM einzufügen:
// Laden des Inhalts per jQuery AJAX
$.ajax({ url: 'http://www.meineurl.de', success: function (data) {
data = data.replace(/