Невозможно загрузить полные плагины комментариев Facebook внутри iOS UIWebView
У меня простой ViewController
загрузить плагины комментариев FB внутри UIWebView
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
UIWebView * webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320.0f, 1505.0f)];
NSString * html = @"\
<!DOCTYPE html>\
<html xmlns:fb='http://ogp.me/ns/fb#'>\
<head>\
<meta name='viewport' content='width=device-width, initial-scale=1.0'>\
</head>\
<body style='background-color:red;'>\
\
<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 = 'http://connect.facebook.net/en_US/all.js#xfbml=1&appId=xxx';\
fjs.parentNode.insertBefore(js, fjs);\
}(document, 'script', 'facebook-jssdk'));</script>\
\
<fb:comments href='http://example.com' num_posts='10'></fb:comments>\
\
</body>\
</html>\
";
[webView loadHTMLString:html baseURL:nil];
[self.view addSubview:webView];
Я вижу загружаемые комментарии, но просто странная высота, кажется, автоматическое изменение размера не удалось? Я могу просмотреть все комментарии, если я использую мобильное сафари.
4 ответа
Вы можете использовать этот код для отображения комментария fb в iOS UIWebview
UIWebView *fbWebview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 1505)];
[fbWebview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.facebook.com/Levis"]]];
CGRect scrollViewFrame = CGRectMake(0, 0, 320, 1024);
UIScrollView *scrollViewMain = [[UIScrollView alloc] initWithFrame:scrollViewFrame];
CGSize scrollViewContentSize = CGSizeMake(320, 1505);
[scrollViewMain setContentSize:scrollViewContentSize];
[scrollViewMain setBounces:NO];
[scrollViewMain setScrollEnabled:YES];
[scrollViewMain setShowsVerticalScrollIndicator:YES];
[scrollViewMain setBackgroundColor:[UIColor redColor]];
[scrollViewMain addSubview:fbWebview];
[self.view addSubview:scrollViewMain];
вместо " https://www.facebook.com/Levis" используйте свой FB URL
это может помочь вам
Вам нужно указать baseURL
[webView loadHTMLString:html baseURL:[NSURL URLWithString:@"http://www.example.com"]];
Та же проблема здесь. Решение не заключалось в использовании локального файла HTML (или строки HTML). Загрузите файл HTML на сервер и используйте:
NSURL *url = [NSURL URLWithString:@"http://www.blablblab.com/yourfile.html"];
[self.webview loadRequest:[NSURLRequest requestWithURL:url]];
вместо:
[self.webview loadHTMLString:localString baseURL:nil];
Я еще не выяснил, почему существует различие в макете, когда файл находится на сервере, но когда это локальный файл, высота моего просмотра комментариев в Facebook всегда была уменьшена до "height:160". По-видимому, это из-за сценария "all.js" на Facebook (в соответствии с этим вопросом).
@ Как вы можете использовать http://www.facebook.com/plugins/comments.php?href=http://www.google.com' scrolling='yes' profile='yes' frameborder='0' style= нет "границы: нет; переполнение: скрытый; ширина:300px; высота:30px;" data-href = ' http://www.google.com/' allowTransparency='true'>"