2202 年如何正确的在浏览器内打开 flash 网页??

flash 垃圾玩意,怎么还没淘汰!就算是打死我我也不会写相关教程~

(眨眨眼)

参考文章:Flash 时代落幕,偶尔要访问的老网站怎么办? - 少数派

参考文章其实说的已经很明白了,但我还是忍不住补充点细节:

Ruffle 目前不堪大用

试了一下 ruffle 在几个内网生产环境的 flash 应用下都会报错。

如何验证 chrome 系 flash(ppapi)是否生效/可用?

网上有许多参考文章建议在地址栏中输入 chrome://flash,但这玩意其实很早之前就被删掉啦。在地址栏中输入 chrome://about 命令,能看到当前浏览器所有有效的地址栏命令(包括某些魔改过的国产浏览器,即使通过其他的 chrome://xxx 地址报错,但 chrome://about这个地址一般都是能用的)。

之后点击其中的 chrome://version,v87 以前的版本就会有 flash 这一栏,v88 以后就没了。

如果正确的加载了 flash,flash 这里就会显示出加载的 dll 的路径。所以参考文章中的[自行编译、定制 Flash 功能 国内浏览器不太放心](https://sspai.com/post/64500#:~:text=自行编译、定制 Flash,国内浏览器不太放心)一节原理也就是无需安装过时的 ppapi 版 flash,直接让 chrome 读取相应路径的 dll。

  1. 下载最后一个 v87 版本:Release v87.0.4280.141-r812852 · Hibbiki/chromium-win32

  2. 按少数派的参考文章来

    下载下来的 Archive 包 应该是一个 7z 压缩包,解压缩之后的文件夹应该是内含 Chrome-bin 文件夹,这里我们新建一个 ChromePortable 的文件夹,在这个文件夹中再新建一个名为 App 文件夹,将解压缩后的 Chrome-bin 文件夹全部拷贝到 App 文件夹中。

    之后在 portableapps 中下载绿色版 Chrome 启动器 Google Chrome Portable,将下载下来的安装包使用 7zip 解压缩后,将里面的 GoogleChromePortable.exe 复制出来并拷贝到前面新建的 ChromePortable 文件夹中。

  3. 关于 flash 的修改版,我在 52 上找了一个最新的 ppapi 安装版,会在 C:\Windows\SysWOW64\Macromed\Flash 下放入一个 32 位的 pepflashplayer64_34_x_x_xxx.dll,在 C:\Windows\System32\Macromed\Flash 下放入一个 64 位的 dll。提取出来,由于我们刚刚下载的是 64 位的 chrome,所以用 64 位这个。

  4. ChromePortable 处新建一个文件夹,名为 plugin 把 dll 放入刚刚新建的文件夹中,重命名为 pepflashplayer64.dll。在 ChromePortable 下新建一个批处理文件,内容为

    1
    2
    3
    @echo off
    cd /d %~dp0
    start GoogleChromePortable.exe --ppapi-flash-path="%~dp0\plugin\pepflashplayer64.dll" --ppapi-flash-version="34.0.0.192" --allow-outdated-plugins

    可能要修改一下 version 参数,修改为和提取出来的 flash dll 对应。(不过是不是真的影响使用我没有认真测试过,目前感觉这里写的数字只跟后续测试时显示的版本号有关,写什么就显示什么)

    pepflashplayer64.dll 别放错,因为如果放成 32 位的后续是什么提示的,只是测试时候会不生效而已。

  5. 打开批处理,可通过下列两个网址测试:

    1
    2
    https://www.sioe.cn/xinqing/flash/
    http://www.7k8k.com/flash/39919_1.htm

    第一个网址能显示出版本好

    第二个网址能显示出错误「请到4399小游戏官网开始游戏」就算成功。

    第一次打开有 flash 的页面时,flash 处会显示 flash 已被屏蔽。此时需要点击地址栏右侧如下图的按钮,点管理

    在弹出的页面中打开「禁止网站运行 flash」的开关。这行描述就会变成「先询问」。

    之后再刷新页面,已被屏蔽这行字就会变成「点击即可启用 adobe flash player」。

    但对于一些页面(比如上面的测试页面 1),并没有任何提示给我们点,是因为 flash player 生效在了整个网页的子页面中,这时浏览器就不会弹出提示。

    此时我们点击地址栏左侧刷新旁边的按钮,可以看到里面有 flash 相关选项,设为「允许」即可。

安装版不生效/为什么大于 v88 的 chrome 也会生效呢?

一般情况下,不生效的原因,可能是:

  1. 浏览器是绿色版,未能正确识别 flash dll 的路径,一般再装一次浏览器就行了;
  2. 安装了非修改版/非国产特供版 flash。

有的时候会发现大于 v88 版本的 chrome 也可以正常使用 flash,原因很简单,因为你把支持 flash 的 chrome 设为了默认浏览器。。。。。

其他方法

能不能不用快捷方式 / 批处理做出来的浏览器直接打开就能支持 flash?而且手工做出来的浏览器每次打开都提示「自 2020 年 12 月起 flash player 将不再受支持,好烦诶」

。。。。。。

一些国产的浏览器(比如搜狗),默认就修改了自己的 flash 路径识别位置,并且安装后就会把已经修改好的 dll 放到指定的位置,此时只要使用他们的极速模式就能正常使用 flash 了。但国产浏览器嘛。。。。

更正统的方法!编译时加入适当的参数,直接修改 flash 的默认识别路径。另外编译时还可以动点小手脚,让浏览器支持 hevc 视频播放。但这个嘛,挖个坑,以后填。