小葛
小葛
  • 发布:2022-05-09 16:20
  • 更新:2023-03-09 17:37
  • 阅读:3076

webView中evalJS如何使用

分类:uni-app

H5和APP都是uniapp
APP调用

this.webView = this.$scope.$getAppWebview();  
this.webView.evalJS('goBack()')

Uncaught ReferenceError: goBack is not defined at __uniappview.html:1

H5如何注册,有看到在 H5 中注册全局JS方法window.xxx = () => {},但是在uniapp中应该怎么注册,有大佬能贴一下代码吗

我尝试在h5端的main.js中写了
document.addEventListener('goBack', function() {
uni.navigateBack()
});
function goBack(){
console.log("goBack:")
}
app.vue 的methods中写了
getToken(){
console.log('getToken')
}
app.vue 的onLaunch中写了
window.goBack = ()=>{
console.log("webview内部:")
}
当前页面中的onLoad中写了
window.goBack = ()=>{
console.log("webview内部:")
}
以及methods中写了
goBack() {
console.log("goBack:")
},
以上都未在app端触发H5的goBack函数(提示Uncaught ReferenceError: goBack is not defined at __uniappview.html:1)

2022-05-09 16:20 负责人:无 分享
已邀请:
小葛

小葛 (作者) - uniapp,vue,vant

已解决:
this.webView = this.$scope.$getAppWebview();
setTimeout(function() {
that.wv = that.webView.children()[0];
that.wv.setStyle({ //设置web-view距离顶部的距离以及自己的高度,单位为px
top: statusbar, //此处是距离顶部的高度,应该是你页面的头部
height: height - statusbar, //webview的高度
})
// wv.addEventListener('progressChanged', function(e) {
// wv.canBack(function(e) {
// that.canBack = e.canBack
// })
// })
}, 200); //如页面初始化调用需要写延迟

this.wv .evalJS('goBack()')

1***@qq.com

1***@qq.com - 饶文俊

Uncaught SyntaxError: Unexpected end of input 报错了啊

要回复问题请先登录注册