【问题标题】:Open facebook page link in browser or native app correctly IOS cordova在浏览器或本机应用程序中正确打开 facebook 页面链接 IOS cordova
【发布时间】:2014-07-11 05:35:28
【问题描述】:

以前关于这个类似主题的问题对我不起作用,而且大多数问题都没有答案。

我想通过单击按钮将用户带到 facebook 页面。 iphone中安装了更新的facebook,安装了最新的cordova,使用了inappbrowser插件。 现在我的代码是

window.open('https://www.facebook.com/latechnologies', '_system','location=yes');

这在 android 上完美运行。但是在 IOS 中,链接被国家 Facebook 应用程序捕获,并带我到使用的 facebook 墙而不是页面提要。这意味着它只是打开本机应用程序,而不是进入任何页面。

然后我搜索,并尝试了一些建议

window.open('fb://facebook.com/latechnologies', '_system','location=yes');

window.open('fb://pages/latechnologies', '_system','location=yes');

window.open('fb://pages', '_system','location=yes');

它们都没有工作。每次都需要到用户墙。我怎样才能简单地将用户带到 facebook 页面?本机应用程序或浏览器无关紧要。只是想把用户带到页面............

【问题讨论】:

  • @kathir cordova 3.4.1

标签: javascript ios facebook cordova inappbrowser


【解决方案1】:

对我来说,使用 Facebook 页面 id 而不是页面名称可以正常工作,例如

window.open('https://www.facebook.com/1401408870089080', '_system');

【讨论】:

  • 这仅适用于数字 ID,您可以使用以下工具获取该 ID:findmyfacebookid.com
  • 在浏览器中打开;不在 FB 应用程序中。
  • 当 facebook 应用程序可用时它停止工作。有什么建议吗?尝试了“fb://pages/1401408870089080”但不工作。
  • 这里我发现IOS原生应用页面的新列表打开了。 stackoverflow.com/questions/5707722/…
【解决方案2】:

我知道这是旧的,但我也遇到了这个问题,并且接受的答案是通过浏览器,而不是通过 FB 应用程序。

答案 = fb://profile/12323435435

在 IOS 页面上位于“个人资料”下

fb://profile/   - FOR IOS
fb://page/      - FOR ANDROID

    <a onclick="window.open('fb://profile/INSERT_FB_ID_HERE','_system')"> 
                                        Your text or button here </a>

您可以在此处找到 FB 个人资料或页面:https://findmyfbid.com

【讨论】:

    【解决方案3】:

    打开您的 MainViewController.m 文件。

    在@implementation 之后和@end MainViewController 之前插入这段代码。

    - (BOOL) webView:(UIWebView*)theWebView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
    {
        NSURL *url = [request URL];
    
        // Intercept the external http requests and forward to Safari.app
        // Otherwise forward to the PhoneGap WebView
        if ([[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"]){
            [[UIApplication sharedApplication] openURL:url];
            return NO;
        }
        else {
            return [super webView:theWebView shouldStartLoadWithRequest:request navigationType:navigationType];
        }
    }
    

    【讨论】:

      【解决方案4】:

      在尝试了几次迭代和上面的一些建议之后,以下代码对我有用。 window.open('fb://pages/, '_system');

      以上内容旨在打开facebook应用程序上的页面(如果已安装)。

      当然,我已经安装了cordova inappbrowser 插件。

      【讨论】:

        【解决方案5】:

        您需要安装插件才能打开应用程序: org.apache.cordova.inappbrowser 0.5.4 "InAppBrowser"

        之后,您必须知道 Facebook 页面 ID 是什么,为此: https://graph.facebook.com/latechnologies

        取ID号并替换Fanpage的用户名: https://www.facebook.com/1382616721988023

        仅此而已... ;)

        就像乔纳斯的回答一样!方法不一样! :)

        【讨论】:

        • 你不觉得你的答案和jonas的答案一模一样吗!
        • 对不起,我想帮助你。 :) 如果您知道 InAppBrowser 插件,我将删除我的 amswer。祝你有美好的一天!
        猜你喜欢
        • 2022-10-12
        • 2016-07-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-28
        • 2015-06-12
        • 2013-08-01
        相关资源
        最近更新 更多