簡體   English   中英

在UIWebView中使用自定義URL方案

[英]Using a custom URL scheme with UIWebView

我有一個黑匣子容器。 我喜歡黑匣子,它們使事物變得如此混亂。

這個黑匣子是一個加密的zip(某種),內部有一些html文件(這是簡短的版本,解釋起來並不麻煩)。

這些文件需要顯示在UIWebView中。 現在,最簡單的方法是解密,解壓縮到文件系統,從文件系統加載文件。 很好,除了黑匣子包含秘密內容,而且不能只在文件系統中閑逛,甚至不花一秒鍾的時間,所以,我制作了一個C庫,實際上是在流傳輸箱子的內容(直接從箱子中取出) 。

現在,我具有此流功能,並且必須以某種方式使其與UIWebView一起使用。 我想到的第一件事是使用微型本地HTTP服務器,UIWebView可以在其中發送其請求。 然后,我將自己管理請求,並使用我完成的流媒體庫返回UIWebView所需的內容。 我以為這可以正常工作,但是我認為微型HTTP服務器在某種程度上可能有點過大。

因此,我想知道,是否還有另一種方法可以在UIWebView和文件系統之間進行干預? 也許使用自定義架構? 像myschema://? 而且,每次UIWebView向myschema://myfile.html發送請求時,我都會以某種方式干擾並返回所需的數據嗎?

這樣的想法可行嗎? 我應該從哪里開始? 也許NSURLRequest?

編輯:我發現了: iPhone SDK:從自定義URL方案加載資源 聽起來不錯,但是,瀏覽器如何知道請求的大小,類型(xml / binary / xhtml)和所有信息HTTP放在其標頭中?

創建一個自定義NSURLProtocol子類並注冊它,以便它將處理HTTP請求。 這將使您能夠處理來自UIWebView的請求,但您認為合適,包括從庫中提供數據。 您可以通過查看RNCachingURLProtocol來檢查執行請求磁盤緩存以允許脫機瀏覽的實現 我個人使用了一個自定義的NSURLProtocol子類,該子類是我編寫的,用於將一些JavaScript代碼注入到UIWebView中加載的頁面中,並且效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM