Frage

Ich habe eine swf, die Flash-9, und ich versuche zu zeigen, Inhalte über es erfordert. Um dies zu erleichtern, habe ich wmode auf transparent gesetzt. Das Problem ist, funktioniert dies nur, wenn der Benutzer Flash-10 installiert ist, und ich möchte wirklich nicht Flash benötigen 10 den Inhalt auf der Seite zu sehen, arbeite ich an. Wenn ich mit Flash 9 einen div über den Flash-Inhalt nach oben ziehen, die swf in blutet oder überschreiben vollständig die div.

Wie kann ich das verhindern, ohne Blitz 10 eine Benutzeranforderung?

Ich verwende swfobject die SWF und jquery-ui einzubetten divs über den Flash-Inhalt angezeigt werden soll.

EDIT:

Das Ausfallverhalten wird nur festgestellt, in Safari.

War es hilfreich?

Lösung

Ich bin mir nicht sicher, ob dies wird Ihnen helfen, per se. Aber ich habe folgende Methode verwendet, um Inhalte über Flash zu zeigen.

Ich hatte vor, dieses Problem einige Zeit konfrontiert. Ich war auf einer Website Benutzer ein Pop-up für Geschäftsbedingungen für die Registrierung zu zeigen. Popup kam in Ordnung, aber es gab einen Flash-Film am oberen Rand der Seite, die hidding oberen Teil des Dialogs war. Die getestete und weit verbreitete Methode ist ein Iframe an Ort zu bringen, wo Sie Ihre Inhalte und die absolute Position Ihre Inhalte und IFrame zeigen wollen. Zum Beispiel, wenn Sie ein div über einen Flash-Film zeigen wollen, legen Sie dann eine IFrame wie folgt:

    <iframe style="position:absolute;top:250;left:150;"></iframe>

Dann die div Position genau über diesem iframe wie:

    <div style="position:absolute;top:250;left:150;"></div>

Ich war auf der Seite mit Jquery Dialog zeigen Plugin ui.dialog. Nach dem Herumalbern irgendwann ausgedacht folgend ich einfache Lösung.

1) gesetzt id-Attribut Film Element eindeutig zu dem Film-Objekt zu identifizieren. Wie,

<object id="movie1"></object>

2), bevor Sie den Dialog (oder andere Inhalte für diese Angelegenheit) ruft eine JavaScript-Funktion zeigt den Film zu verbergen. Wie,

$("#movie1").css("display","none");

3) zeigt nun Dialog. Wie,

$("#dialog").dialog("open");

4) nach dem Schließen des Dialogs, den Film zeigt wieder. Wie,

  $("#dialog").dialog("close");
  $("#movie1").css("display","inline"); 

Andere Tipps

wmode transparent ist seit Jahren Teil des Flash gewesen und ist nicht auf Flash Player 10.

unabhängig, brauchen Sie nicht wmode verwenden transparent; es sei denn, Sie wirklich Transparenz in Ihrer SWF benötigen, sollten Sie wmode undurchsichtig stattdessen verwenden. es ist weniger Buggy und verbraucht weniger Rechenleistung.

ist der Trick, um auch Ihre HTML-Elemente eine ‚Position‘ zusichern, in der CSS angegeben.

versuchen, die Beispiele und Anweisungen folgen hier: http://learnswfobject.com/advanced-topics / Platzieren-html-Elemente-over-a-Flash-Film /

Ich kann nicht beraten, die das Problem lösen könnte, ich werde so vorschlagen, dass Sie das Problem vermeiden möchten, statt.

Anstatt haben die (x) HTML-Inhalte über die Flash-Inhalte in dem z-Index

+------------+
|            |
| +-------------+
| |   html      |
| |             |
| +-------------+
|   Flash    |
+------------+

Wie sei es stattdessen den (x) HTML-Inhalt über dem Blitz im Fenster platzieren:

+------------+
|  html      |
|            |
+------------+
+------------+
|            |
| Flash      |
|            |
|            |
|            |
|            |
+------------+

Es ist nicht ideal, aber es zumindest bietet eine praktikable Lösung, bis Flash / html kann mehr erfolgreich koexistieren.

Das fand ich in meinen Lesezeichen (und sie sind von der Pre-10-Ära). Obwohl ich eine Flash Player 9 / Safari habe hier nicht über dieses Recht jetzt zu bestätigen. Geben Sie ihm einen Schuss.

Verschiedene WModes für Browser

Wie pipwerks sagte, sollten WMode diese kontrollieren, aber nicht alle Plattformen / Browser behandeln sie richtig. In diesem Fall würde halte ich diese Safari / Flash9 Fehler und nicht fixierbar ist.

sein

versuchen, die wmode-Parameter auf undurchsichtige Einstellung. Das scheint eine Menge von HTML-Schicht / Tiefe Probleme zu lösen, wenn Flash beteiligt ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top