在生产中将 PepperFlash 包含在电子中不起作用
Including PepperFlash in electron not working when built in production
我有一个 Electron 应用程序需要加载基于 Flash 的网站,我在 windows 中包含了 PepperFlash DLL,当我 运行 解压时它可以工作,但是当我 运行 packed 插件不起作用。
我已确保该文件存在于构建时查看的路径中
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 for electron-builder 我有合适的 asarUnpack}
"asarUnpack": [
"build/pepflashplayer.dll"
],
但是当我尝试加载 url
mainWindow.loadURL('http://get.adobe.com/flashplayer/about/');
我得到 无法加载插件。
但是我注意到一件事是前往 http://isflashinstalled.com/ 表明闪存已正确安装。同样,在我的渲染器进程中,如果我 console.log
console.log(navigator.plugins);
我在插件列表中看到了 flash 插件。
有什么建议吗?谢谢!
原来问题是我在 32 位中打包并使用 64 位 PepperFlash DLL,进行切换后一切正常。
我有一个 Electron 应用程序需要加载基于 Flash 的网站,我在 windows 中包含了 PepperFlash DLL,当我 运行 解压时它可以工作,但是当我 运行 packed 插件不起作用。
我已确保该文件存在于构建时查看的路径中
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 for electron-builder 我有合适的 asarUnpack}
"asarUnpack": [
"build/pepflashplayer.dll"
],
但是当我尝试加载 url
mainWindow.loadURL('http://get.adobe.com/flashplayer/about/');
我得到 无法加载插件。
但是我注意到一件事是前往 http://isflashinstalled.com/ 表明闪存已正确安装。同样,在我的渲染器进程中,如果我 console.log
console.log(navigator.plugins);
我在插件列表中看到了 flash 插件。
有什么建议吗?谢谢!
原来问题是我在 32 位中打包并使用 64 位 PepperFlash DLL,进行切换后一切正常。