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)returns object),但在其上调用任何函数都没有任何效果。

首先,有人知道为什么didClearWindowObject:我调用时不调用goBack:吗?有什么建议可以调试 JavaScript 对象吗?

4

0 回答 0