9

Facebook 应用程序有它自己的浏览器(使用 iOS 应用程序的 UIWebView),但它有一些限制。我们需要我们网站上的某些链接,以确保在 iOS 上使用 Safari 查看。

FB 应用程序可以选择在 Safari 中手动打开链接,但有没有办法自动执行此操作?IE。a 标签链接中的一些 JS 或特殊参数强制在 Safari 中打开。

4

2 回答 2

1

好吧,iOS 使用了一种叫做URL Scheme的东西,所以你可以尝试使用它。它适用于本机代码...

NSString *stringURL = @"http://fakewebsite.example.com/";
NSURL *url = [NSURL URLWithString:stringURL];
[[UIApplication sharedApplication] openURL:url];

不确定是否可以在 javascript 中做类似的事情

于 2013-06-21T20:06:27.883 回答
1

可能没有办法自动执行此操作,但您应该能够检测到它并更优雅地处理它。Facebook 向用户代理字符串添加了一些额外内容,因此您可以嗅探一些 FB.. 信息位:

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]

似乎有些人试图弄清楚他们的意思,但不管他们告诉你你在那个 facebook 网络框架内。

其中之一的嗅探(js 或后端)将允许您以不同的方式加载页面,或者至少显示解释和说明以在 safari 中打开它。仍然不是自动的,但您至少可以检测到情况并有一个记录在案的手动解决方案。

于 2014-01-22T13:30:04.800 回答