众所周知,当我们从 safari 网页加载框架时,我们会调用 webkit 非正式协议(WebFrameLoadDelegate)的委托方法:
网络视图:didStartProvisionalLoadForFrame:
webView:didChangeLocationWithinPageForFrame:
但是我想知道重新加载网页或在 safari 中打开新网页时会调用哪些类和方法?非常感谢!
调用相同的委托,您只需检查发送此委托消息的 webFrame 是否是 mainFrame,方法是检查它是否没有父级。例如:
- (void)webView:(WebView *)sender didStartProvisionalLoadForFrame:(WebFrame *)frame {
if(![frame parentFrame]) {
// There is no parent frame so this is the main frame.
}
// other actions for child frames.
}