3
我開發了混合iOS應用程序Swift 並希望檢測WKWebView中的history.pushstate()。 我沒有覆蓋WKWebView的方法,但我無法檢測到任何東西。如何檢測WKWebView中的history.push狀態
有沒有一種方法或技巧來檢測history.pushstate()
我開發了混合iOS應用程序Swift 並希望檢測WKWebView中的history.pushstate()。 我沒有覆蓋WKWebView的方法,但我無法檢測到任何東西。如何檢測WKWebView中的history.push狀態
有沒有一種方法或技巧來檢測history.pushstate()
這無疑是一個解決辦法,但如果你被允許編輯的特性內置對象(像在大多數瀏覽器),你可以用這兩個功能和使用攔截處理程序來跟蹤它們被調用時:
function track (fn, handler) {
return function interceptor() {
handler.apply(this, arguments)
return fn.apply(this, arguments)
}
}
history.pushState = track(history.pushState, function (state, title, url) {
// do something with `state, `title`, and `url`
console.log('pushState called with:', { state: state, title: title, url: url })
})
history.replaceState = track(history.replaceState, function (state, title, url) {
// do something with `state, `title`, and `url`
console.log('replaceState called with:', { state: state, title: title, url: url })
})
history.pushState(null, 'Title 1', '/example-page')
你什麼意思通過覆蓋多少? – gyre
@gyre這意味着我使用了「func webView(blah blah blah)」 – hoi