Answers:
Chrome浏览器内置了一个称为PepperFlash的Flash Player。转到chrome:// plugins /,并确保已启用“ Adobe Flash Player”。您也可以转到chrome:// components /以确保已更新。如果仍然有问题,请转到“您的根目录” \“用户” \“您的用户名” \ AppData \ Local \ Google \ Chrome \ User Data \ PepperFlash \“版本号” \,然后将pepflashplayer.dll重命名为pepflashplayerX.dll。
我创建了一个flash.html
具有以下内容的文件:
<object>
<embed src="file.swf" width="100%" height="100%"></embed>
</object>
然后在Chrome中打开文件。
否则,当我将swf
文件拖到Chrome时,它只是在下载文件。
Catttdaddy的回答基本上是正确的,但是在Chrome版本57及更高版本中,不建议使用插件(有关更多信息,请参见this),您可能需要通过Chrome设置以其他方式启用Flash。如果未启用它,则将下载文件而不是将其打开。要在Chrome中启用Flash,请执行以下操作:
打开SWF文件后,出于安全或其他原因,您可能需要将其更改回原始设置。
对于有此问题的Linux用户,我已创建以下脚本作为解决方法:
在继续之前,您必须确保已为Chrome / Chromium安装了Pepper-Flash(对于Firefox是Flashplugin),检查(不使用下面的替代方法)的唯一方法是在Internet上播放Flash文件。(或在Firefox中,转到about:plugins并查看其是否具有“ Shockwave Flash”)
#!/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"
(或与破折号兼容)
要使用该脚本,请将其保存为swftohtml.sh(可以是任何名称,不必以.sh结尾)在您想要的任何位置,然后将其转换为可运行的命令,或者在bashrc中为其创建别名,或者将其复制到/ usr / bin /。请记住运行chmod + x swftohtml.sh以使其可执行。
不带参数运行的脚本将在当前文件夹中查找swf文件,并生成一个可用于在浏览器中运行此swf文件的html文件。如果文件夹中的swf文件超过1个,则默认为最后一个(例如,如果您具有filename1.0.swf和filename2.0.swf,则默认为filename2.0.swf)
或者,以特定的swf文件为目标,您可以输入文件名(或文件的完整路径)作为脚本的参数,它将使用该文件名。(例如swftohtml.sh文件名1.0.swf)
要在浏览器中自动打开swf文件并在使用后自动删除生成的html文件,请取消注释脚本底部的以下行之一(取决于浏览器):
#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"
脚本现在将在创建后立即在浏览器中打开html文件。如果您的浏览器已有实例在运行,它将在20秒内删除html文件(这使您有足够的时间告诉浏览器使用Flash插件打开该文件)。如果您的浏览器不存在实例,则在关闭浏览器后20秒钟将删除该文件。
使用此设置,您可以配置SWF文件以使用脚本打开,并且该过程现已完全自动化,因此您可以直接打开SWF文件,而不必担心手动创建(或删除)html文件,换句话说,它的行为将像现在一样。(请注意,虽然在某些情况下html文件不会被删除,但是在这种情况下,您可以放心地忽略它。)
Firefox版本有点棘手,它需要安装wmctrl和xdotool。这样做的原因是,为了使firefox以这种方式播放本地swf文件,您需要禁用插件。http_https_only在about:config中,脚本会自动禁用它,打开Flash文件,然后重新启用它,因为这是大多数设置人们通常会希望保持启用状态。在运行命令之前,需要打开浏览器。如果您认为运行命令时有可能会关闭firefox浏览器,请用以下代码替换该行:
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"
现在,它将使浏览器有1秒的启动时间,然后再运行其余脚本。(可能需要针对速度较慢的计算机进行调整)。
Firefox版本的脚本将始终在20秒后删除文件。
我做了一些基本的性能测试,这些是我的结果:
至于稳定性,在极端情况下PPAPI会遇到NPAPI不会遇到的错误/错误,但是这种情况很少见。
Pepper Flash和Flash Projector之间的性能相当小(值得注意,但几乎没有),但是由于某些原因,firefox Flash插件的性能明显比其他性能慢。
因此,如果要玩Flash游戏是我的目标,那么通常情况下,我建议使用铬,并在其上安装胡椒闪光灯。对于其他任务,这无关紧要。