Danke für deine Antwort.
Also bei mir funktioniert dein Ansatz leider nicht. Ich dachte zuerst, dass es mit innerHTML nicht zurecht kommt, weswegen ich den "offiziellen Weg" mal gegangen bin. Die Funktion sieht dann so aus
Code:
function changeSrc(str) {
document.getElementById('flash').removeChild(document.getElementById('flash-embed'));
var newFlashElement = document.createElement('embed');
newFlashElement.setAttribute('id', 'flash-embed');
newFlashElement.setAttribute('src', 'img/' + str);
newFlashElement.setAttribute('quality', 'high');
newFlashElement.setAttribute('scale', 'exactfit');
newFlashElement.setAttribute('menu', 'false');
newFlashElement.setAttribute('swLiveConnect', 'false');
newFlashElement.setAttribute('type', 'application/x-shockwave-flash');
newFlashElement.setAttribute('pluginpage', 'http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash');
document.getElementById('flash').appendChild(newFlashElement);
}
Sowohl diese als auch die Variante mit innerHTML produzieren das Gleiche: Das alte Element verschwindet, es wird ganz kurz grau und dann erscheint nix.
Kann es sein, dass es gar nicht möglich embed-Elemente nachträglich in die DOM einzugliedern?
EDIT: Das neue embed wird in die DOM eingegliedert, wie es an Hand des DOM Inspectors in Firefox sehen kann. Es erscheint einfach nicht ...