【发布时间】:2013-02-05 18:09:29
【问题描述】:
我已将我的 WebView UIDelegate 链接到界面构建器中的 BrowserWindowController,这是我实现 webuidelegate 功能的委托。在我的 browserwindowcontroller 类中,我也这样做:
类 BrowserWindowController(NSWindowController):
webView = objc.IBOutlet()
def windowDidLoad(self):
self.webView.setUIDelegate_(self)
def webViewDidStartLoad_(self, webView):
print "DID LOAD START"
def webView_didFailLoadWithError_(self, webView, error):
print "ERROR"
def webViewDidFinishLoad_(self, webView):
print "DID FINISH LOAD"
def webView_shouldStartLoadWithRequest_navigationType_(self, webView, request, nav_type):
print "LOAD REQ"
最后四个函数都没有被调用,它们是 WebUIDelegate 的一部分。我什至尝试过(什么是正式协议,即使这是非正式的): 类 BrowserWindowController(NSWindowController, WebKit.protocols.WebUIDelegate):
但这不起作用。我已经以相同的方式实现了 WebView WebPolicyDelegate 并且它确实有效。为什么 WebUIDelegate 不起作用?我已经按照我在文档中阅读的方式链接了它。我错过了这个非正式协议的内容吗?
【问题讨论】:
-
你知道如何解决这个问题吗?我也面临同样的问题。