웹 페이지를 다시로드하거나 Safari에서 새 웹 페이지를 열 때 어떤 메소드와 클래스가 호출 될 것인지
문제
아시다시피, Safari의 웹 페이지에서 프레임을로드하면 WebKit 비공식 프로토콜 (Webframeloaddelegate)의 대의원 방법을 호출합니다.
WebView : DidStartProvisionAlloadforframe :
WebView : DidChangElocationWithInPageForFrame :
그러나 웹 페이지를 다시로드하거나 Safari에서 새 웹 페이지를 열면 Whick 클래스와 메소드가 호출 될 것임을 알고 싶습니다. 매우 감사합니다!
해결책
동일한 대의원이 호출됩니다.이 대의원 메시지를 보내는 웹 프레임이 부모가 없는지 확인하여 메인 프레임인지 확인하면됩니다. 예를 들어:
- (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.
}
제휴하지 않습니다 StackOverflow