2017-06-05 58 views
0

我正在写一个电子应用程序。我用webview在我的应用程序中显示一个网站。当我按下退格键时,我想让webview内的网站返回。官方webview上的纪录片对我没有帮助。当按下退格键时,如何让webview内容返回?Electron <webview> back backspace

回答

0

如果你想拥有,当你在一个<textarea><input>输入退格它不回去,比试试这个:

const webview = document.querySelector('webview') 
webview.addEventListener('keydown', (e)=>{ 
     if(e.keyCode === 8 && e.target.nodeName.toLowerCase() !== 'textarea' && e.target.nodeName.toLowerCase() !== 'input' && e.target.contentEditable !== 'true') webview.goBack(); 
}); 

(如果这个工作适合你,记住你可以将其标记如通过点击绿色复选标记所接受的那样)。

0

尝试:

myView.executeJavaScript(` 
    addEventListener("keyup", e=>{ 
     if(e.keyCode === 8) history.back(); 
    }); 
`); 

(使用ES6箭头的功能和模板文字)

+0

对不起,这没有奏效。这是官方文件。 [链接](https://electron.atom.io/docs/api/webview-tag/) – Prottoy

+0

我想通了,并完成它。感谢您的按键代码!^_^ – Prottoy

1

所以最后我想通了。这是最终的代码。

const webview = document.querySelector('webview') 
webview.addEventListener('keydown', (e)=>{ 
     if(e.keyCode === 8) webview.goBack(); 

}) 

感谢您的按键代码。^_^

+0

有一个洞。如果您的webview中有任何文本框,并且您使用退格键,则不会将其视为退格键,而是会将导航键重新导回。 – Prottoy

+0

我修正了[在我的答案](https://stackoverflow.com/a/44390462/6560716)。 – programmer5000