Für Linux-Benutzer mit diesem Problem habe ich das folgende Skript als Workaround erstellt:
Bevor Sie fortfahren, müssen Sie sicherstellen, dass Pepper-Flash für Chrome / Chromium (Flashplugin für Firefox) installiert ist. Sie können dies nur überprüfen, indem Sie eine Flash-Datei im Internet abspielen. (oder in Firefox unter about: plugins nachsehen, ob es "Shockwave Flash" enthält)
#!/bin/bash
if [ -z $1 ]; then
swf=$(ls *.swf | tail -1)
else
swf=$@
fi
html=$(echo $swf | sed 's:swf:html:g')
echo '<embed src='$swf 'width="100%" height="100%"></embed>' | sed 's:src=:src=":g' | sed 's:swf:swf":g' > "$html"
#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"
(alternativ kompatibel mit dash)
Um das Skript zu verwenden, speichern Sie es unter dem Namen swftohtml.sh (es kann ein beliebiger Name sein, muss nicht mit .sh enden) an einer beliebigen Stelle und konvertieren Sie es dann in einen ausführbaren Befehl Kopieren Sie es nach / usr / bin /. Denken Sie daran, chmod + x swftohtml.sh auszuführen , damit es ausführbar ist.
Wenn das Skript ohne Argumente ausgeführt wird, sucht es im aktuellen Ordner nach einer SWF-Datei und erstellt eine entsprechende HTML-Datei, die zum Ausführen dieser SWF-Datei in einem Browser verwendet werden kann. Wenn der Ordner mehr als 1 SWF-Dateien enthält, wird standardmäßig die letzte verwendet (z. B. wenn Sie Dateiname1.0.swf und Dateiname2.0.swf haben, wird standardmäßig Dateiname2.0.swf verwendet).
Alternativ können Sie zur Ausrichtung auf eine bestimmte SWF-Datei den Dateinamen (oder den vollständigen Pfad zur Datei) als Argument für das Skript eingeben. Dieses Argument wird dann verwendet. (zB swftohtml.sh Dateiname 1.0.swf )
Wenn Sie das Skript vollständig automatisieren möchten:
Um SWF-Dateien automatisch in Ihrem Browser zu öffnen und das Entfernen der resultierenden HTML-Datei nach deren Verwendung zu automatisieren, deaktivieren Sie eine der folgenden Zeilen am unteren Rand des Skripts (abhängig von Ihrem Browser):
#chromium "$html" && sleep 20 && rm "$html"
#google-chrome "$html" && sleep 20 && rm "$html"
#firefox about:config & wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"
Das Skript öffnet nun die HTML-Datei in Ihrem Browser, sobald sie erstellt wurde. Wenn eine vorhandene Instanz Ihres Browsers ausgeführt wird, wird die HTML-Datei in 20 Sekunden gelöscht (so haben Sie ausreichend Zeit, den Browser anzuweisen, die Datei mit dem Flash-Plugin zu öffnen). Wenn keine Instanz Ihres Browsers vorhanden ist, wird die Datei stattdessen 20 Sekunden nach dem Schließen des Browsers gelöscht.
Mit diesem Satz können Sie SWF-Dateien so konfigurieren, dass sie mit dem Skript geöffnet werden. Der Vorgang ist jetzt vollautomatisch, sodass Sie SWF-Dateien direkt öffnen können, ohne sich jemals Gedanken über das Erstellen (oder Löschen) der HTML-Dateien von Hand machen zu müssen. es wird sich so verhalten, wie es jetzt sein sollte. (Bedenken Sie, dass es einige Eckfälle geben kann, in denen die HTML-Datei nicht gelöscht wird. In diesem Fall können Sie sie ignorieren.)
Für Firefox-Benutzer:
Die Firefox-Version war etwas kniffliger, es müssen wmctrl und xdotool installiert sein. Der Grund dafür ist, dass Firefox lokale SWF-Dateien auf diese Weise abspielen muss. Sie müssen plugins.http_https_only in about: config deaktivieren. Das Skript deaktiviert sie automatisch, öffnet die Flash-Datei und aktiviert sie dann wieder, da dies eine der meisten Einstellungen ist Personen möchten im Allgemeinen aktiviert bleiben. Der Browser muss geöffnet sein, bevor der Befehl ausgeführt wird. Wenn Sie der Meinung sind, dass Ihr Firefox-Browser wahrscheinlich geschlossen wird, wenn Sie den Befehl ausführen, ersetzen Sie die Zeile durch Folgendes:
firefox about:config & sleep 1 && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && firefox "$html" && firefox about:config && wmctrl -xa firefox && sleep 0.2 && xdotool key Return && xdotool type plugins.http && sleep 1 && xdotool key Tab && xdotool key Down && xdotool key Return && xdotool key Control+w && sleep 20 && rm "$html"
Der Browser kann nun innerhalb von 1 Sekunde gestartet werden, bevor der Rest des Skripts ausgeführt wird. (Muss möglicherweise für langsamere Computer angepasst werden).
Die Firefox-Version des Skripts löscht die Datei immer nach 20 Sekunden.
Leistungstest:
Ich habe einige rudimentäre Leistungstests durchgeführt und dies sind meine Ergebnisse:
- Chrome / Chromium Pepper Flash (PPAPI): Am schnellsten
- Adobe Flash Projector (NPAPI) (Wein): Schnell
- Firefox Flashplugin (NPAPI): Am langsamsten
Was die Stabilität angeht, gibt es Eckfälle, in denen PPAPI auf Bugs / Fehler stößt, die NPAPI nicht kennt, die jedoch selten sind.
Die Leistung zwischen Pepper Flash und Flash Projector war eher gering (es fällt auf, aber kaum), während die Leistung des Firefox-Flash-Plugins aus irgendeinem Grund merklich geringer war als die der anderen.
Wenn also Flash-Spiele das Ziel sind, würde ich im Allgemeinen die Verwendung von Chrom mit Pfefferblitz empfehlen, der über dem Rest installiert ist. Für andere Aufgaben ist es unwahrscheinlich, dass es darauf ankommt.