【问题标题】:Facebook like button not launching new window in Cocoa WebViewFacebook like 按钮未在 Cocoa WebView 中启动新窗口
【发布时间】: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


    【解决方案1】:

    显然我需要在webView:createWebViewWithRequest: 中调用makeKeyAndOrderFront: ...https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/DisplayWebContent/Tasks/MultipleWindows.html#//apple_ref/doc/uid/20002026-117294 此处的示例暗示这是必要的(因为openUntitledDocumentAndDisplay:error: 将调用makeKeyAndOrderFront:)而webViewShow: 的文档似乎暗示展示窗口应该是它的专属职责。令人困惑。如果有人有更好的解释,欢迎。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-03
      • 1970-01-01
      • 2012-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      相关资源
      最近更新 更多