Bu sorunu yaşayan Linux kullanıcıları için aşağıdaki betiği geçici bir çözüm olarak oluşturdum:
Devam etmeden önce, biber-flaşın Chrome / Chromium için kurulduğundan emin olmalısınız, (Firefox için flashplugin) kontrol etmenin tek yolu (altındaki geçici çözümü kullanmadan) internette bir flash dosyası oynatmaktır. (veya Firefox'ta, about: plugins'e gidin ve "Shockwave Flash" olup olmadığını görün)
#!/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"
(alternatif olarak kısa çizgi ile uyumlu)
Komut dosyasını kullanmak için, istediğiniz herhangi bir yere swftohtml.sh (herhangi bir ad olabilir , .sh ile bitmek zorunda değildir) olarak kaydedin, sonra onu bashrc'de bir takma ad komutuna dönüştürün ya / usr / bin / dizinine kopyalayın. Çalıştırmayı unutmayın chmod + x swftohtml.sh çalıştırılabilir hale getirmeniz.
Bağımsız değişkenlerle çalıştırıldığında komut dosyası, bir swf dosyasının geçerli klasörüne bakacak ve bu swf dosyasını bir tarayıcıda çalıştırmak için kullanılabilecek bir html dosyası oluşturacaktır. Klasörde 1'den fazla swf dosyası varsa, sonuncusuna varsayılan (örneğin, dosya adı1.0.swf ve dosya adı2.0.swf varsa, dosya adı2.0.swf'ye varsayılan)
Alternatif olarak, belirli bir swf dosyasını hedeflemek için, dosya adını (veya dosyanın tam yolunu) komut dosyası için bir argüman olarak girebilirsiniz, bunun yerine onu kullanır. (örn. swftohtml.sh dosya adı 1.0.swf )
Komut dosyasını tamamen otomatikleştirmek istiyorsanız:
SWF dosyalarını tarayıcınızda otomatik olarak açmak ve sonuçta elde edilen html dosyasının kullanılmasından sonra otomatik olarak kaldırılmasını sağlamak için, betiğin altındaki aşağıdaki satırlardan birini işaretleyin (tarayıcınıza bağlı olarak):
#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"
Betik, html dosyasını oluşturulduktan hemen sonra tarayıcınızda açacaktır. Tarayıcınızın çalışan bir örneği varsa, html dosyasını 20 saniye içinde siler (tarayıcıya dosyayı flash eklentisiyle açmasını söylemeniz için yeterli zaman sağlar). Tarayıcınızın mevcut bir örneği yoksa, dosya tarayıcı kapatıldıktan 20 saniye sonra silinir.
Bu setle SWF dosyalarını komut dosyası ile açacak şekilde yapılandırabilirsiniz ve işlem artık tamamen otomatiktir, böylece SWF dosyalarını doğrudan, yani html dosyalarını elle oluşturmaktan veya silmekten endişe etmeden açabilirsiniz. şimdi olması gerektiği gibi davranacak. (Html dosyasının silinmediği birkaç köşe durumu olabileceğini unutmayın, bu olduğunda güvenle yok sayabilirsiniz.)
Firefox Kullanıcıları İçin:
Firefox sürümü biraz daha zordu, wmctrl ve xdotool kurulmasını gerektiriyordu. Bunun nedeni firefox yerel swf oynamak için size devre dışı gereken bu sayede dosyaları olmasıdır plugins.http_https_only içinde about: config , senaryo bunu otomatik olarak devre dışı bırakır, flaş dosyasını açar, sonra yeniden etkinleştirir bunu, bu ayar çoğu çünkü insanlar genellikle etkin kalmak ister. Komut çalıştırılmadan önce tarayıcının açık olması gerekir. Komutu çalıştırdığınızda firefox tarayıcınızın kapatılabileceğini düşünüyorsanız, satırı şununla değiştirin:
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"
Şimdi betiğin geri kalanını çalıştırmadan önce tarayıcıya 1 saniye süre tanıyacak. (Daha yavaş bilgisayarlar için ayarlanması gerekebilir).
Komut dosyasının Firefox sürümü her zaman 20 saniye sonra dosyayı siler.
Performans testi:
Bazı temel performans testleri yaptım ve bunlar benim sonuçlarım:
- Krom / Krom Biber Flaşı (PPAPI): En Hızlı
- Adobe Flash Projektör (NPAPI) (Şarap): Hızlı
- Firefox Flashplugin (NPAPI): En yavaş
İstikrar gelince, PPAPI'nin NPAPI'ın yapmadığı hatalara / hatalara maruz kalacağı köşe durumları vardır, ancak nadirdir.
Pepper Flash ve Flash Projektör arasındaki performans oldukça küçüktü (farkedilir, ancak zorlukla), ancak firefox flash eklentisinin performansı bir nedenden ötürü diğerlerinden belirgin olarak daha yavaştı.
Bu nedenle, flash oyun oynamak amaç ise, genel olarak kalanına biber flaşlı krom kullanmanızı tavsiye ederim. Diğer görevler için önemli olması muhtemel değildir.