2013-10-31 38 views
14

在我訂立的應用程序中,我拉取了一系列YouTube視頻並允許它們在應用程序中顯示。但是,當用戶點擊YouTube視圖的導航控制器中的單元格並顯示帶有UIWebView的模式視圖時,UIWebView將返回錯誤「幀負載已中斷」。如何解決UIWebView中的「幀加載中斷」錯誤?

我已經通過調試器運行了幾十次,並且一切似乎都很順利,直到我初始化NSURLRequest。當顯示模式的看法,這裏的是,在視圖控制器的-viewDidLoad方法運行代碼:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    _webView = [[UIWebView alloc] init]; 
    _webView.delegate = self; 
    NSURLRequest *request = [[NSURLRequest alloc] initWithURL:_url]; 
    [_webView loadRequest:request]; 
} 

然而,當我拉起調試上線[_webView loadRequest:request];,我看到以下內容:

enter image description here

有誰知道爲什麼UIWebView返回錯誤?

+0

您可能想要檢查UIWebView委託的didFailWithError並檢查域和錯誤號,看看是否會產生更多信息 – cynistersix

+1

這是一個空白頁面嗎? – NeverHopeless

+0

關於重定向到m.youtube的最後一個答案似乎很有希望。我也發現這個:http://stackoverflow.com/questions/19959307/the-joys-of-didfailloadwitherror-uiwebview。如果該文件是本地的,並且需要使用UIWebView loadData形成請求: – cynistersix

回答

1

您使用的網址可能無法識別用戶代理。這是老年人的iOS版本發生太大的問題,但似乎又回到iOS中7.嘗試添加該到你的appdelegate didFinishLaunchingWithOptions:

NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3", @"UserAgent", nil]; 
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary]; 
+0

沒有運氣,仍然出現「幀負載中斷」消息。 – amarkon

+0

這在嘗試加載Facebook時解決了我的問題。對我來說,必要的部分是'Mozilla/5.0 AppleWebKit/534.46' – BananaNeil

6

您應該檢查
它應該是URL路徑@」 http://google.com 「 而不是@」google.com「

3

我有同樣的問題,在我的情況下,原來是MIMEType沒有正確設置。

我測試通過手動創建與來自URL的請求的NSURLConnection,然後執行:

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 

觀察從連接的響應回調。反應的MIMEType竟然是"pdf/pdf",而不是"application/pdf,",並且我解決了這個問題後,webview加載的網址就好了。

希望這會有所幫助。

-13

它很清楚..你沒有設置WebView的「框架」。 使用此:

_webView = [[UIWebView alloc] initWithFrame:self.view.frame]; //give a proper Rect value 
_webView.delegate = self; 
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:_url]; 
[_webView loadRequest:request]; 
+1

這不是那個意思。它談論的是一個Web框架(WebKit概念),而不是UIView框架。 – AriX

+0

是的,當然我知道。當WebView的實際CGRect框架屬性未設置時,我遇到同樣的錯誤。我建議先設置它,然後再嘗試一下,如果有意義的話。 – rishabh

0

幀加載中斷的原因顯示的錯誤是www.youtube.com正在執行重定向到m.youtube.com,這是UIWebView不喜歡的。瘋狂地推測,我會引用可能的安全影響?我能夠通過直接鏈接到移動網站來解決此問題,無需YouTube重定向。

0

你在模擬器或實際設備上做過這些嗎?我在SIM上有同樣的問題,但它在設備上工作:)

0

我在iOS 10.2.1 UIWebView面臨同樣的問題。

當與路徑URL

的PDF文件具有的mimetype 「應用程序/ x-PDF」 請求PDF文件。

所以我改變爲「application/PDF」,可以讀取該

0

我有一個類似的問題,那些誰報道,添加或修正解決了該問題的MIME類型。在我的情況下,我試圖打開沒有文件擴展名的本地文件(例如「my-dir/my-file」),導致了可怕的"Frame Load Interrupted"錯誤(以及"Unbalanced calls to begin/end appearance transitions for UIViewController")。添加文件擴展名(例如「my-dir/my-file.pdf」)糾正了我的問題。

相關問題