Ich habe eine Seite, die dynamischen Flash-Inhalt von issuu.com anzeigt. Ich muss wmode="transparent"
hinzufügen, da sonst das Navigationsmenü unter Flash angezeigt wird. Gibt es einen kurzen Weg, dies mit jQuery oder einfachem Java-Skript zu tun?
Ich möchte den Einbettungscode nicht jedes Mal ändern, wenn ein Flash hinzugefügt wird.
ok, nach 2 Tagen der Suche im Internet nach der Antwort habe ich eine reine JS-Funktion gefunden, die es in allen Browsern beheben!
gehen Sie:
%Vor%Jetzt können Sie einfach reinlaufen, wenn die Seite mit jQuery geladen wird:
%Vor%Von einem anderen Post hier in stackoverflow, mit JQuery funktioniert das
%Vor%Als ich das letzte Mal nachgesehen habe, hat das Ändern von wmode durch JS nicht funktioniert. Sobald das Flash-Objekt erstellt wurde, hat das Ändern seines wmode-Werts keine wirkliche Auswirkung.
Sie müssen dies entweder vom Backend aus tun, oder wenn das nicht möglich ist, in JS ABER bevor Sie das Objekt schreiben.
HTH
Dies ist die einfachste und browserkompatible Lösung, die ich finden konnte, um wMode="window" -Objekte zu entfernen, NACHDEM die Seite bereits gerendert wurde.
Im Internet Explorer können die untergeordneten Knoten eines Objekts nicht mehr geändert werden, nachdem sie in das DOM eingefügt wurden. Die beste Lösung besteht darin, sie erneut einzufügen / rendern, indem Sie uterHTML ändern.
In den meisten anderen Browsern ist das Ändern der Attribute eines Objekts / Einbetten möglich, hat aber nach dem Rendern keine Auswirkungen. Hier bewirkt ein erneutes Einfügen des Elements an der gleichen Position ein erneutes Rendern. .wrap (). unwrap () ist die einfachste Methode, die mir in jQuery in den Sinn kommt.
%Vor%Tags und Links flash transparent transparency wmode