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)
2 个回复
小葛 (作者) - 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()')
宗宗 - 饶文俊
Uncaught SyntaxError: Unexpected end of input 报错了啊