redonion42@163.com
redonion42@163.com
  • 发布:2018-01-27 21:17
  • 更新:2020-08-26 21:58
  • 阅读:2190

wap2app 拦截url 使用overrideUrlLoading无效

分类:wap2app

请问wap2app怎么拦截url,使用overrideUrlLoading无效,我的写法是在app.js通过getWebviewById获取到webview,然后用webview的overrideUrlLoading方法,但是没起作用,在app的项目可以,有谁也遇到过的吗?
plus.webview.getWebviewById("id").overrideUrlLoading({mode:'reject'}, function(e){
console.log('reject url: '+e.url);
});

2018-01-27 21:17 负责人:无 分享
已邀请:
小小刀

小小刀

我遇到过,有301重定向的页面不行的,你检查一下

  • redonion42@163.com (作者)

    没有哦,我用自己写的页面测试都不行

    2018-01-30 19:10

qq820805144

qq820805144

需要注入js

zl_117@126.com

zl_117@126.com

解决了吗?同样遇到无效的问题

yumoct

yumoct

分享下我的解决方法。
sitemap.json给webview引入js:

"appendJs":"back.js"

back.js:

(function() {  
    plus.webview.currentWebview().overrideUrlLoading({  
        mode: 'reject'  
    }, function(e) {  
        console.log('reject url: ' + e.url);  
    });  
})();

在app.js中给需要拦截url的页面添加reload():

Page('__W2A__XXX', {  
    onShow: function() {  
        plus.webview.currentWebview().reload();  
    }  
});

个人猜测是先把back.js的代码引入html中,但此时的拦截url请求没成功配置上,然后走app.js的onShow,reload了html后成功配置上了。

要回复问题请先登录注册