2

が埋め込まれた Cocoa アプリがありますWebView。JavaScript から呼び出すことができる多くのカスタム Objective-C 関数に応答するようにデリゲートを設定しました。たとえば、JavaScript では、次のようなものを呼び出すことができます。console.log()

デリゲートを次のように設定しました。

- (void)webView:(WebView *)sender didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame {    
    [self.webView.windowScriptObject setValue:self forKey:@"console"];
}

別のページに移動してから ( 経由でWebView goBack:) 戻るボタンを使用すると、上記のメソッドが呼び出されず、consoleオブジェクトを設定できません。

ただし、JavaScript オブジェクトは引き続き存在しますが ( typeof(console)return object)、関数を呼び出しても何の効果もありません。

まず、didClearWindowObject:私が呼び出したときに が呼び出されない理由を知っている人はいgoBack:ますか? JavaScript オブジェクトをデバッグする方法について何か提案はありますか?

4

0 に答える 0