所以我正在开发一个新项目,我们想为使用Electron的用户创建一个桌面应用程序.
问题是我需要webview元素上的自定义上下文菜单.
到目前为止我的进展我可以在webview上创建上下文菜单,但我无法访问点击下的内容.:)
index.html的:
<webview id="webViewDefault" class="active" src="http://example.com" minwidth="100%" minheight="100%" partition="somePartition" nodeintegration allowpopups></webview>
Run Code Online (Sandbox Code Playgroud)
renderer.js
const electron = require('electron');
const Menu = electron.remote.Menu;
//Create contextmenu template
const WebViewMenu = Menu.buildFromTemplate([{
label: 'Button 1', click(){
console.log('Button 1 clicked');
}
},
{type: 'separator'}, {
label: 'Button 2', click(){
console.log('Button 2 clicked');
}
}
]);
//get webview
let defaultWebview = document.getElementById("webViewDefault");
//add event listner
defaultWebview.addEventListener("contextmenu", (event) => {
const t = event.srcElement.id.split('-');
WebViewMenu.popup(electron.remote.getCurrentWindow());
});
Run Code Online (Sandbox Code Playgroud)
因此,href当右键单击发生时,如何获取链接的属性,这样我就可以为用户创建一个新选项卡.
选项卡工作得很好,创建新的Web视图,选择活动的视图等.我只需要从链接获取网址...:D