内置生产中包含PepperFlash的电子无法正常工作

时间:2018-06-19 13:48:45

标签: electron electron-builder electron-packager

我有一个Electron应用程序,需要加载基于Flash的网站,我已经在Windows中包含了PepperFlash DLL,当我不打包运行时它可以工作,但是当打包运行时,插件不起作用。

我已确保文件在构建时所查找的路径中存在

let pluginPath = process.env.ELECTRON_START_URL ?
    path.join(__dirname, pluginName):
    __dirname.replace('app.asar', 'app.asar.unpacked') + pluginName;

如果我在构建时console.log插件路径是正确的区域。

C:\Users\Evan\AppData\Local\Temp\nsl129A.tmp\app\resources\app.asar.unpacked\buildpepflashplayer.dll

当我正确导航到该区域时存在。

我还在WebPreferences中包括了插件,并且在解压缩后确实可以使用。

  mainWindow = new BrowserWindow({
      title: 'TST Application',
      icon: path.join(__dirname, 'assets/logo.png'),
      webPreferences: {
          plugins: true,
          webSecurity: false
      },
      show: false
  });

在我的电子生成器package.json中,我有适当的asarUnpack}

 "asarUnpack": [
     "build/pepflashplayer.dll"
 ],

但是当我尝试加载网址

    mainWindow.loadURL('http://get.adobe.com/flashplayer/about/');

我得到无法加载插件。

无论如何,我发现要前往http://isflashinstalled.com/的一件事表明已正确安装了闪光灯。同样,在我的渲染器过程中,如果我console.log

        console.log(navigator.plugins);

我在插件列表中看到了Flash插件。

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

原来的问题是我使用32位打包并使用64位PepperFlash DLL进行了切换,一切开始正常工作。