【问题标题】:Open a standard link in electron from a remote web app从远程 Web 应用程序中打开电子标准链接
【发布时间】:2018-05-11 01:01:10
【问题描述】:
我微不足道的第一个电子应用程序只是嵌入了一个远程 web 应用程序:
mainWindow.loadURL("http://<my-remote-web-app")
Web 应用程序运行标准 JS 和 jQuery。从浏览器运行并单击“帮助”链接时,它将在另一个页面上打开一个新窗口。现在,从电子 dektop 应用程序运行时,我需要有相同的行为,但我没有运气。我无法在 Web 应用程序中运行 shell 命令,因为它是标准的并且不加载 Electron。
【问题讨论】:
标签:
javascript
jquery
web-applications
electron
【解决方案1】:
我找到了解决方案。在这里发帖供其他人需要。
只需在预加载脚本中设置一个全局函数,以便 Web 应用程序可以访问它。在主电子脚本(main.js 或 index.js)中:
function createWindow () {
// Create the browser window.
mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: false,
preload: path.join(__dirname, 'preload.js')
}
})
使用此内容创建一个 preload.js 脚本:
const {shell} = require('electron')
var _process = process;
process.once('loaded', function() {
global.goto_Link = function(linkurl){
shell.openExternal(linkurl)
}
});
你现在可以调用全局函数了:
//
goto_Link("https://www.google.com");
//