這可以做到。它可能不夠乾淨漂亮,但這裏有一種可能的方法:在顯示HTML之前需要解析HTML。
首先,您需要攔截UIWebView的加載請求調用,以便檢查是否調用了需要解析的Flash頁面的URL。要攔截加載請求調用,請使用UIWebViewDelegate方法webView:shouldStartLoadWithRequest:navigationType:
來讀取URL。
如果URL匹配您需要從中刪除Flash的URL,您將運行加載HTML字符串的代碼,該字符串將解析到Web視圖中(稍後詳細介紹),然後將NO
返回給webView:shouldStartLoadWithRequest:navigationType:
委託方法。這意味着,當用戶嘗試使用Flash訪問頁面時,我們將停止UIWebView的操作,並使用我們自己的解析內容加載視圖。
一旦你發現你需要解析HTML,你需要進入一個你可以使用的變量。爲了讓您的網頁的HTML作爲字符串:
NSURL *yourURL = [NSURL URLWithString:@"http://google.com"];
NSError *error;
NSString *htmlString = [NSString stringWithContentsOfURL:yourURL encoding:NSUTF8Encoding error:&error];
一旦你擁有了串,從你的HTML刪除Flash代碼,看到這個問題:
Comment out a string in HTML before UIWebView can display it
一旦你解析HTML和擺脫你的Flash,你可以通過[webView loadHTMLString:string baseURL:nil];
加載到你的網頁視圖最後,你需要通過代碼在你的web視圖頂部插入一個本地電影播放器。你必須處理屏幕旋轉,調整和放置本地播放器在網頁視圖之上,但我會留給你。
這是很多原料,但是應該讓你繼續上一個可能的解決方案。