0

ご存知のように、サファリのWebページからフレームをロードするとき、Webkit非公式プロトコル(WebFrameLoadDelegate)のデリゲートメソッドを呼び出します。

webView:didStartProvisionalLoadForFrame:

webView:didChangeLocationWithinPageForFrame:

しかし、Webページをリロードしたり、Safariで新しいWebページを開いたりすると、whickクラスとメソッドが呼び出されることを知りたいですか?どうもありがとうございます!

4

1 に答える 1

1

同じデリゲートが呼び出されます。親がないことを確認して、このデリゲートメッセージを送信している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.
}
于 2009-11-05T07:10:10.930 に答える