Facebook App拥有自己的浏览器(使用UIWebView for iOS应用程序),但它有一些限制。我们需要在我们的网站上使用某些链接,以确保在iOS上使用Safari进行查看。
FB应用程序可以选择在Safari中手动打开链接,但有没有办法自动执行此操作? IE浏览器。标签链接中的一些JS或特殊参数强制在Safari中打开。
答案 0 :(得分:1)
iOS使用的是URL Scheme,因此您可以尝试使用它。它适用于本机代码......
NSString *stringURL = @"http://fakewebsite.example.com/";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];
不确定是否可以在javascript中执行类似操作
答案 1 :(得分:1)
可能没有办法自动执行此操作,但您应该能够检测到它并更优雅地处理它。 Facebook在User代理字符串中添加了一些额外内容,因此您可以嗅探一些FB .. info位:
Mozilla/5.0 (iPad; U; CPU iPhone OS 5_1_1 like Mac OS X; en_US) AppleWebKit (KHTML, like Gecko) Mobile [FBAN/FBForIPhone;FBAV/4.1.1;FBBV/4110.0;FBDV/iPad2,1;FBMD/iPad;FBSN/iPhone OS;FBSV/5.1.1;FBSS/1; FBCR/;FBID/tablet;FBLC/en_US;FBSF/1.0]
似乎有some people trying to figure out他们的意思,但无论他们是否告诉你,你都在facebook网站内。
对其中一个进行嗅探(js或后端)将允许您以不同方式加载页面或至少显示解释和说明以在Safari中打开它。仍然不是自动的,但你至少可以检测到这种情况,并有一个记录在案的手动解决方案。