peak
peak
  • 发布:2016-11-15 11:21
  • 更新:2016-11-17 08:49
  • 阅读:5075

webview中配置第三方url,点击返回键的时候,能否不直接退出,而是返回到浏览历史记录中的上一页面

分类:HBuilder

webview中配置第三方url,点击返回键的时候,能否不直接退出,而是返回到webview浏览历史记录中的上一页面?

例如:
我webwiew中配置了新浪网首页地址,
webviewshow = plus.webview.create("http://www.sina.com.cn/");
然后我点击了新浪网首页中的某条新闻查看新闻详情,然后我在新闻详情页面点击了android手机的返回键,能否实现返回到新浪网首页面,而不是退出?类似于PC端浏览器的返回功能。

代码如下:
// H5 plus事件处理
function plusReady() {
if('iOS' == plus.os.name) {
at = 300;
};
// 弹出系统等待对话框
plus.nativeUI.showWaiting("加载中...");
webviewshow = plus.webview.create("http://www.sina.com.cn/");
webviewshow.onloaded = loadPageOk;
webviewshow.onerror = loadPageError;
webviewshow.setPullToRefresh({
support: true,
height: "50px",
range: "200px",
contentdown: {
caption: "下拉可以刷新"
},
contentover: {
caption: "释放立即刷新"
},
contentrefresh: {
caption: "正在刷新..."
}
}, onRefresh);
//返回键监听
plus.key.addEventListener('backbutton', function() {
//if(confirm('确认退出?')) {
// plus.runtime.quit();
//}
//此处我如何写能让返回到上一页。而不是退出?
}, false);
};

2016-11-15 11:21 负责人:无 分享
已邀请:
赵梦欢

赵梦欢 - 专注前端,乐于分享!

可以通过plus.key.addEventListener来注册监听返回按键backbutton事件:

plus.key.addEventListener("backbutton",function(){
alert( "BackButton Key pressed!" );
});
通过WebviewObject对象的canBack和canForward方法可以查询Webview窗口的状态,通过back和forward控制页面加载。

canBack: 查询Webview窗口是否可后退
canForward: 查询Webview窗口是否可前进
back: 后退到上次加载的页面
forward: 前进到上次加载的页面
clear清除原生窗口的内容,用于重置原生窗口加载的内容,清除其加载的历史记录等内容

https://segmentfault.com/a/1190000005651279#articleHeader4

  • peak (作者)

    多谢啊,我需要的就是这个

    2016-11-17 15:09

blk

blk

没什么戏,我做的是应用市场更新的时候跳转http链接,无法监听后退键的.

  • peak (作者)

    https://segmentfault.com/a/1190000005651279#articleHeader4


    这个应该可以

    2016-11-17 15:10

该问题目前已经被锁定, 无法添加新回复