问题描述
在电子应用程序中,我使用Webview显示外部站点。我刚刚添加了两个Navigatioàn按钮及其事件处理程序,分别是:
$(document).on( 'click','#url_back',function(){
webview1.goBack();
});
$(document).on( 'click','#url_forward',function(){
webview1.goForward();
});
但是该站点有一个登录页面,因此我想将历史导航限制为登录后的第一页。我搜索了一种获取索引的方法,但在文档中找不到任何索引。
进一步记录了可能对我有帮助的事件:'will-navigate
'在使用历史记录API时不起作用....(https://www.electronjs.org/docs/api/webview-tag#%C3%A9v%C3%A9nement--will-navigate)
因此,我想知道是否有一种方法可以使用户不必通过多次单击“后退”按钮来再次登录。
解决方法
我最终对文档看起来更好,并找到了方法canGoToOffset
,该方法可以让我们知道我们在哪里与起点。因此,当我登录后使用第一个URL时,单击按钮时不会执行任何操作。
因此后退按钮的代码变为:
$(document).on( 'click','#url_back',function(){
if(webview1.canGoToOffset(-2)){
webview1.goBack();
}
});