我有一个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插件。
有什么建议吗?谢谢!
答案 0 :(得分:0)
原来的问题是我使用32位打包并使用64位PepperFlash DLL进行了切换,一切开始正常工作。