1

我们正在使用最新的 Facebook iOS SDK (3.5) 并且在 webview 登录时遇到以下问题。当前目标选项卡隐藏了 facebook ok 和 cancel 按钮,因此用户无法授权该应用程序。

重现步骤:

1) 使用 Facebook SDK UIWebView 登录 2) 出现“您已经授权...”文本 3) OK 和 Cancel 按钮都被隐藏并且视图不可滚动。

这个问题有解决方法吗?

- - - - - - - 更新 - - - - - - -

该问题现已由 Facebook 解决。

4

1 回答 1

1

我不确定这是否会帮助 IOS 用户,但我可以告诉你我是如何在 Android 中为我的应用程序修复这个问题的,以防其他人遇到这个错误(也许有人可以将此修复程序翻译为 IOS)。

在 FaceBookSDK 中,我修改了 com/facebook/widget/WebDialog.java,这样一旦加载了 Web 对话框,它就会查找“当前目标”块并将其隐藏(如果存在)。

在 com/facebook/widget/WebDialog.java 中:

private class DialogWebViewClient extends WebViewClient {

    // ... other methods ...

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        if (!isDetached) {
            spinner.dismiss();
        }
        /*
         * Once web view is fully loaded, set the contentFrameLayout background to be transparent
         * and make visible the 'x' image.
         */
        contentFrameLayout.setBackgroundColor(Color.TRANSPARENT);
        webView.setVisibility(View.VISIBLE);
        crossImageView.setVisibility(View.VISIBLE);

        // I don't know how to highlight in the code block
        // So I just add this extra long comment to make it obvious
        // Add a javascript call to hide that element, if it exists
        webView.loadUrl("javascript:try{ document.getElementById('nux-missions-bar').style.display='none'; } catch (e) {}");
        // End changes           
    }
于 2013-05-29T07:03:43.230 回答