2017-06-05 52 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