2017-06-21 2 views
0

Ich habe meine iframe überall getestet und es funktioniert sehr gut, aber auf iOS in Objective-C, es funktioniert nicht auf UIWebView, hier ist mein Code, kann mir jemand helfen?Mein iframe funktioniert nicht mit einem UIWebView

Dank
self.webView.scrollView.scrollEnabled = NO; 

NSString *Str = [NSString stringWithFormat:@"<iframe frameborder=\"0\" width=\"359\" height=\"200\" src=\"//www.dailymotion.com/embed/video/%@\" allowfullscreen></iframe>", identifier]; 

[_webView loadHTMLString:Str baseURL:nil]; 

Mein iframe:

<iframe frameborder="0" width="359" height="200" src="//www.dailymotion.com/embed/video/x5b4cfz" allowfullscreen></iframe> 
+0

Ihre Breite ist bei einigen Modellen breiter als die Breite eines iPhone (ich weiß nicht, ob das ein echtes Problem ist) und ich würde Ihnen empfehlen, wkwebview nicht zu verwenden iwebview. – Mozahler

Antwort

0

Sie benötigen diesen Schlüssel zu Ihrem info.plist hinzufügen

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 

Das Hauptproblem, das ich gefunden ist die Basis-URL, in fehlte Ihr Code, so fügen Sie diesen Code mit der Basis-URL @"http://www.dailymotion.com", und änderte den Weg zum Laden von HTML von loadHTMLString zu loadData dies immer bessere Ergebnisse für mich haben

Edited: Verbesserte Code Breite von WebView zu handhaben als @Mozahler vorschlagen falsch war

self.webView.scrollView.scrollEnabled = NO; 

NSString *identifierTest = @"x5b4cfz"; 

NSString *Str = [NSString stringWithFormat:@"<iframe frameborder=\"0\" width=\"%@\" height=\"200\" src=\"//www.dailymotion.com/embed/video/%@\" allowfullscreen></iframe>",[NSString stringWithFormat:@"%f",self.webView.frame.size.width - 10], identifierTest]; 

NSLog([NSString stringWithFormat:@"%f",self.webView.frame.size.width - 10]); 

[_webView loadData:[Str dataUsingEncoding:NSUTF8StringEncoding] 
      MIMEType:@"text/html" textEncodingName:@"UTF-8" 
      baseURL:[[NSURL alloc] initWithString:@"http://www.dailymotion.com"]]; 

es funktioniert, wie Sie

enter image description here

Hoffnung sehen, das hilft

+0

Ausgezeichnet! Freut mich, dass Sie die Probleme gelöst haben. – Mozahler

+0

Vielen Dank :) –

Verwandte Themen