4

У меня есть простой ViewController для загрузки FB комментарии плагинов внутри UIWebViewНевозможно загрузить полные Facebook комментарий плагинов внутри IOS 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]; 

Я могу видеть комментарии загружаются, но только высота странно, кажется, автоматическое изменение размера не удалось? Я могу просмотреть все комментарии, если я использую мобильное сафари.

Screenshot from Simulator

+0

Удалось ли вам найти подходящее решение? – benuuu

ответ

2

Вы должны указать BaseUrl

[webView loadHTMLString:html baseURL:[NSURL URLWithString:@"http://www.example.com"]]; 
4

вы можете использовать этот код для отображения Fb комментария в прошивке 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

это может помочь вам

+4

Это действительно не то же самое, что и плагин комментариев FB, и это совершенно другая функциональность, чем то, что он ищет. Вы не можете использовать это для получения комментариев о URL example.com –

0

@Howard вы можете использовать http://www.facebook.com/plugins/comments.php?href=http://www.google.com 'прокрутка =' да 'профиль =' да 'frameborder =' 0 'style =' border: none; переполнение: скрытый; ширина: 300px; высота: 30px;» данных HREF = «http://www.google.com„allowTransparency =“истинный»>»

0

Такая же проблема здесь решение не использовать локальный 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» книжный сценарий (соответственно this question).

Смежные вопросы