在UIWebView中加載本地HTML文件棠涮、CSS文件谬哀、JS文件沒有任何問題,正常載入和現(xiàn)實(shí)在UIWebView上严肪。
但是在WKWebView中加載本地HTML文件史煎、CSS文件、JS文件诬垂,往往加載不上劲室,導(dǎo)致界面樣式和事件遠(yuǎn)遠(yuǎn)不是自己想要的。網(wǎng)上搜索許久都沒有搞定结窘,自己翻墻和研究終于找到新大陸很洋。
現(xiàn)在就和大家分享下,本人在項(xiàng)目中使用WKWebView加載本地CSS文件沒有效果的解決辦法隧枫。方法原理在HTML文件喉磁、JS文件同樣適用谓苟。
首先將資源文件放在一個(gè)目錄下,以備后期調(diào)用
目錄結(jié)構(gòu)如下协怒,隨意放涝焙,只要知道路徑就可以
重點(diǎn)來了:
在WKWebView加載HTML代碼或者本地HTML文件時(shí)進(jìn)行處理
直接上源碼了,創(chuàng)建WKWebView代碼就不上了孕暇,直接來加載代碼
重點(diǎn)之處在于baseUrl
處仑撞,baseUrl
需要設(shè)置本地資源文件所對應(yīng)的路徑
/// [self.viewModel getHtmlString] 此方法是HTML串
- (void)showInWebView {
NSURL *baseUrl = [NSURL URLWithString:@"file:///assets/"];
[self.webView loadHTMLString:[self.viewModel getHtmlString] baseURL:baseUrl];
}
這樣設(shè)置就可以正常加載CSS文件并且顯示
同時(shí)貼上 CSS文件使用方式。這里沒有什么特別的妖滔,直接使用NSBundle加載CSS文件隧哮,但是不設(shè)置上面的baseUrl
,這個(gè)CSS文件是不能加載的
如果在不行座舍,就把對應(yīng)的HTML文件或者CSS文件拷貝到沮翔,對應(yīng)執(zhí)行類文件(加入執(zhí)行WebView加載的方法在A類中,就把對應(yīng)的HTML曲秉、CSS文件拷貝到當(dāng)前目錄中)同目錄下采蚀,在試試
到此WKWebView加載本地HTML文件、CSS文件承二、JS文件問題就搞定了