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