问题描述
使用vue循环一个标签列表,点击列表里面的标签,调用app给的跳转页面的方法,第一次跳转页面后,点击返回按钮回到本页面,再次点击列表里面的标签,调用了2次webview,只有第一次点击的时候正常调用
问题出现的环境背景及自己尝试过哪些方法
直接在vue页面引用bridge里面的方法,也不行
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
// 封装的bridge
`function setupWebViewJavascriptBridge (callback) {
// android使用
if (window.WebViewJavascriptBridge) {
callback(window.WebViewJavascriptBridge)
} else {
document.addEventListener(
'WebViewJavascriptBridgeReady'
, function () {
callback(window.WebViewJavascriptBridge)
},
false
)
}
// ios使用
if (window.WebViewJavascriptBridge) {
return callback(window.WebViewJavascriptBridge)
}
if (window.WVJBCallbacks) {
return window.WVJBCallbacks.push(callback)
}
window.WVJBCallbacks = [callback]
var WVJBIframe = document.createElement('iframe')
WVJBIframe.style.display = 'none'
WVJBIframe.src = 'https://__bridge_loaded__'
document.documentElement.appendChild(WVJBIframe)
setTimeout(function () {
document.documentElement.removeChild(WVJBIframe)
}, 0)
}
export default {
callhandler (name, data, callback) {
setupWebViewJavascriptBridge(function (bridge) {
bridge.callHandler(name, data, callback)
})
},
registerhandler (name, callback) {
setupWebViewJavascriptBridge(function (bridge) {
bridge.registerHandler(name, function (data, responseCallback) {
callback(data, responseCallback)
})
})
}
}`
// 调用方法
`this.$bridge.callhandler('jumpPage', {
'pageName': 'webPage',
'url': '跳转的页面链接'
},
function responseCallback (responseData) {
console.log(responseData)
})`
你期待的结果是什么?实际看到的错误信息又是什么?
请问大家,为什么第2次开始点击的时候,都会调用2次webview