WebView goBack:打破自定义JavaScript对象

时间:2012-04-18 19:31:23

标签: javascript cocoa webkit webview

我有一个嵌入式WebView的Cocoa应用。我已经设置了我的委托来响应可以从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)返回object),但调用它上面的任何函数都没有任何效果。

首先,有人知道调用didClearWindowObject:时未调用goBack:的原因吗?有关如何调试JavaScript对象的任何建议吗?

0 个答案:

没有答案