【发布时间】:2014-05-15 23:11:45
【问题描述】:
我正在使用可加载包含社交媒体按钮的 HTML 页面的 Cocoa WebView。当我点击 Facebook 的点赞按钮时,根本没有打开任何弹出窗口,但是 Twitter 和 Google+ 等其他窗口可以正常工作并按预期启动弹出窗口。
相同的 HTML 页面在 Safari 中正常工作。
我相信我已经正确实现了我的 WebUIDelegate,并且想不出还有什么可能导致这个问题。有什么想法吗?
#pragma mark WebViewUIDelegate Methods
- (WebView *)webView:(WebView *) __unused sender createWebViewWithRequest:(NSURLRequest *)request
{
NSWindow *window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 400, 300) styleMask:NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask backing:NSBackingStoreBuffered defer:YES];
[window setCollectionBehavior:NSWindowCollectionBehaviorFullScreenPrimary];
WebView *webView = [[WebView alloc] init];
[webView setFrameLoadDelegate:self];
window.contentView = webView;
[webView.mainFrame loadRequest:request];
[_popupWindows addObject:window];
return webView;
}
- (WebView *)webView:(WebView *)sender createWebViewModalDialogWithRequest:(NSURLRequest *)request
{
return [self webView:sender createWebViewWithRequest:request];
}
- (void)webViewRunModal:(WebView *)sender
{
[sender.window makeKeyAndOrderFront:self];
}
- (void)webViewShow:(WebView *)sender
{
[sender.window makeKeyAndOrderFront:self];
}
- (void)webViewClose:(WebView *)sender
{
[_popupWindows removeObject:sender.window];
[sender.window close];
}
【问题讨论】:
标签: objective-c facebook macos cocoa webview