试图在UIWebView中加载Facebook-Comments插件
我正在尝试在iPhone应用程序的UIWebView中查看facebook-comments插件。
我从Facebook的iOS教程开始,在那里我实现了Single Sign-On。 应用代表负责Facebook的单点登录,然后将我重定向到我的单个视图控制器,该控制器显示标题栏和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文件中
(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'));
UIWebView在我的模拟器上加载得很好。 我在我的设备上托管并启动了html,它在Safari中加载得很好。 问题是UIWebView不会在嵌入式UIWebView中加载Facebook-comments插件。
需要注意的一点是,我没有得到一个空白的屏幕。 我看到两个动画加载栏,典型的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]; .... }
它解决了我的问题。
祝你好运!
通过将http://添加到js.src似乎可以解决此问题
尝试将FB脚本更改为此。
js.src = "http://connect.facebook.net/en_GB/all.js#xfbml=1";
调用feed dialoge意外地为我做了诀窍! 我打了电话
[facebook dialog:@"feed" andDelegate:self];
并且在关闭时,注释插件已正确加载。