我有一个全屏的,kiosk Electron网络应用程序,里面有一个iframe的在线网站。我可以使用iframe的sandbox属性来阻止从链接打开新窗口和弹出窗口,但mailto:链接打开系统默认邮件客户端,并使用户离开Electron应用程序。有没有什么方法可以阻止/拦截这些链接?我无法查看相框里的内容。我已经尝试了窗口的will-navigate事件,但在框架内单击时不会触发。
iframe
sandbox
mailto:
will-navigate
oknwwptz1#
事实证明,有一个事件与will-navigate做同样的事情,但处理页面子框架内的链接,例如iframes:will-frame-navigate .这解决了我的问题:
will-frame-navigate
win.webContents.on( 'will-frame-navigate', ( event, url ) => { if ( url.startsWith( 'mailto:' ) ) { event.preventDefault(); } });
1条答案
按热度按时间oknwwptz1#
事实证明,有一个事件与
will-navigate
做同样的事情,但处理页面子框架内的链接,例如iframes:will-frame-navigate
.这解决了我的问题: