按照本地的CSS檔案展示一串網絡擷取的帶HTML格式的隻有body部分的文本,需要自己拼寫完整的HTML。除此之外,還需要禁用擷取的HTML文本中自帶的 《 img 》 标簽自動加載,并把下載下傳圖檔的操作放在native端來處理,并通過JS将圖檔在Cache中的位址傳回給UIWebview。
之是以要把圖檔操作放在native端做的好處在于:1、可以進行本地緩存,下次進入這篇文章可以直接從緩存讀取,提高響應速度并且節省使用者流量。2、可以實作點選圖檔放大、儲存圖檔到相冊等操作。
技術難點也有兩個:1、如何讓HTML文本onLoad的時候,禁用自身的圖檔加載而是從本地擷取圖檔?2、如何把native端下載下傳好的圖檔傳回給網頁?
起初,我也是束手無策,翻看文檔可隻找到了一個 - (NSString )stringByEvaluatingJavaScriptFromString:(NSString )script 和JS簡易互動的方法,未能如願。直到我在Github上看到了WebViewJavascriptBridge 這個用于UIWebView/WebViews和JS互動的封裝庫。