h5jumppage.php,h5使用webviewjsbridge跟原生交互,点击标签调用2次webview
問題描述
使用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
總結
以上是生活随笔為你收集整理的h5jumppage.php,h5使用webviewjsbridge跟原生交互,点击标签调用2次webview的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 情侣真心话大全全集108个
- 下一篇: 小编教你联想笔记本怎么还原联想电脑如何一