Für Linux-Benutzer, die dieses Problem haben, habe ich das folgende Skript als Workaround erstellt:
Bevor Sie fortfahren, müssen Sie sicherstellen, dass pepper-flash für Chrom/Chrom installiert ist, (flashplugin für Firefox) die einzige Möglichkeit zur Überprüfung (ohne den untenstehenden Workaround zu verwenden) ist die Wiedergabe einer Flash-Datei im Internet. (oder in Firefox gehen Sie zu about:plugins und sehen Sie nach, ob es “Shockwave Flash” hat)
#!/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 dem Bindestrich)
Um das Skript zu benutzen, speichern Sie es als swftohtml.sh (kann ein beliebiger Name sein, muss nicht auf .sh enden) an einem beliebigen Ort Ihrer Wahl, und um es dann in einen ausführbaren Befehl umzuwandeln, machen Sie entweder einen Alias dafür in bashrc, oder kopieren Sie es nach /usr/bin/. Denken Sie daran, chmod +x swftohtml.sh auszuführen, um es ausführbar zu machen.
Wenn das Skript ohne Argumente ausgeführt wird, sucht es im aktuellen Ordner nach einer swf-Datei und erstellt eine entsprechende html-Datei, die zur Ausführung dieser swf-Datei in einem Browser verwendet werden kann. Wenn sich mehr als eine swf-Datei im Ordner befindet, 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 den Dateinamen (oder den vollständigen Pfad zur Datei) als Argument für das Skript eingeben, um auf eine bestimmte swf-Datei zu zielen, und es wird stattdessen diesen verwenden. (z.B. swftohtml.sh Dateiname 1.0.swf )
Wenn Sie das Skript vollständig automatisieren wollen:
Um swf-Dateien automatisch in Ihrem Browser zu öffnen und die Entfernung der resultierenden html-Datei nach ihrer Verwendung zu automatisieren, entfernen Sie eine der folgenden Zeilen am unteren Ende des Skripts (je nach 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 wird nun die html-Datei in Ihrem Browser öffnen, sobald sie erstellt wurde. Wenn bereits eine Instanz Ihres Browsers läuft, wird die html-Datei innerhalb von 20 Sekunden gelöscht (so dass Sie genügend Zeit haben, dem Browser mitzuteilen, dass er die Datei mit seinem Flash-Plugin öffnen soll). Wenn es keine existierende Instanz Ihres Browsers gibt, wird die Datei stattdessen 20 Sekunden nach dem Schließen des Browsers gelöscht.
Mit diesem Set können Sie SWF-Dateien so konfigurieren, dass sie mit dem Skript geöffnet werden, und der Prozess ist jetzt vollständig automatisiert, so dass Sie SWF-Dateien direkt öffnen können, ohne sich jemals Gedanken über die Erstellung (oder das Löschen) der html-Dateien von Hand machen zu müssen, mit anderen Worten, es wird sich so verhalten, wie es jetzt sein sollte. (Denken Sie daran, dass es einige wenige Eckfälle geben kann, in denen die html-Datei nicht gelöscht wird, aber wenn dies geschieht, können Sie sie getrost ignorieren)
Für Firefox-Benutzer:
Die Firefox-Version war etwas trickreicher, sie erfordert die Installation von wmctrl und xdotool. Der Grund dafür ist, dass man, damit Firefox lokale swf-Dateien auf diese Weise abspielen kann, plugins.http_https_only in about:config deaktivieren muss, das Skript deaktiviert es automatisch, öffnet die Flash-Datei und aktiviert sie dann wieder, da dies eine Einstellung ist, die die meisten Leute im Allgemeinen aktiviert lassen wollen. Der Browser muss geöffnet sein, bevor der Befehl ausgeführt wird. Wenn Sie es für wahrscheinlich halten, dass Ihr Firefox-Browser geschlossen wird, wenn Sie den Befehl ausführen, ersetzen Sie die Zeile durch folgende Zeile:
&00002
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"
Es gibt dem Browser nun 1 Sekunde Zeit zum Starten, 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.
Leistungstests:
Ich habe einige rudimentäre Leistungstests durchgeführt, und dies sind meine Ergebnisse:
- Chrome/Chromium Pepper Flash (PPAPI): Schnellste
- Adobe Flash-Projektor (NPAPI)(Wein): Schnellste
- Firefox Flashplugin (NPAPI): Langsamste
Was die Stabilität betrifft, so gibt es Eckfälle, in denen PPAPI auf Bugs/Fehler stößt, die NPAPI nicht hat, aber sie sind selten.
Die Leistung zwischen Pepper Flash und Flash Projector war ziemlich gering (es ist auffällig, aber kaum), während die Leistung des Firefox-Flash-Plugins aus irgendeinem Grund merklich langsamer war als der Rest.
Wenn also das Spielen von Flash-Spielen das Ziel ist, würde ich generell empfehlen, Chrom mit Pfeffer-Flash zu verwenden, das über den Rest installiert ist. Bei anderen Aufgaben ist es unwahrscheinlich, dass das eine Rolle spielt.