我正在尝试在 iPhone 应用程序的 UIWebView 中查看 facebook-comments 插件。
我从 Facebook 的 iOS tutorial 开始,我在其中实现了单点登录。应用委托(delegate)负责 Facebook 的单点登录,然后将我重定向到我的单 View Controller ,它显示一个标题栏和一个 UIWebView。
我使用名为“comments.html”的本地文件加载 webview,该文件已添加并复制到我的 bundle/project 目录。
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"comments" ofType:@"html"] isDirectory:NO];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];
我的 html 文件是插件实现的基本版本,在 Facebook Comments Plugin 生成。描述网站。我插入了一个 URL,然后单击“获取代码”。我采用了他们提供给我的 HTML5 代码,并将其粘贴在一个 html 文件中
<html>
<body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-comments" data-href="http://www.bombslo.com" data-num-posts="4" data-width="470"></div>
</body>
</html>
UIWebView 在我的模拟器上加载得很好。我在我的设备上托管并启动了 html,它在 Safari 中加载正常。问题是 UIWebView 不会在嵌入式 UIWebView 中加载 Facebook 评论插件。
需要注意的重要一点是我没有看到空白屏幕。我看到两个动画加载栏,典型的 Facebook。另请注意,Facebook 生成的代码以 HTML5 和 XFBML 格式提供。我试过两者都用。
最佳答案
我遇到了同样的问题。但是在与 Facebook iOS sdk 集成后,将以下语句放入 AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
facebook = [[Facebook alloc] initWithAppId:@"your app id" andDelegate:self];
....
}
它解决了我的问题。
祝你好运!
关于ios - 尝试在 UIWebView 中加载 Facebook-Comments 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10809249/