iOS加載本地html、css、js、img

iOS如何用webView將一套本地的h5加載進來?

在這個過程中我遇到了幾個問題,將自己的解決辦法分享給大家

首先將一整套H5拖拽到工程中,選項

folder

這里說一下,這幾個選項的意思

1、 Copy items into destination group's folder (if needed)

主要是說明,是否要將文件拷貝到工程所在目錄。如果不選中,引入文件的時候就僅僅是引入邏輯鏈接,不拷貝文件。(如果把項目放在另一臺電腦上運行,會找不到文件)。如果選中,則將該文件拷貝到工程目錄下(系統推薦的方式),雖然引用的也是邏輯鏈接,但是不會因為引動庫文件而引起錯誤。

當選擇拷貝到工程目錄下時,Xcode默認將文件夾拷貝到如下路徑:與xxx.xcodeproj文件在同一層目錄結構.

2、Create groups?

導入文件的時候會是邏輯結構,而不是物理結構,黃色的文件夾結構,一般只在你的工程中是文件夾的形式,但是在本地的目錄中還是以散亂的形式放在一起的

3、 Create folder references?

創建引入的是藍色的文件夾結構,只能作為資源,整個引用進項目,不能編譯代碼,也就是說,以folder形式引用進來的文件,不能被放在complie sources列表里面.

所以當我們加載本地H5時,需要引入藍色文件夾作為資源文件,需要注意的是,html引用css和js使用的相對路徑,所以html與css和js要在一個父目錄下,類似于(我的index.html文件在html文件夾中)

文件夾結構

物理路徑引用的時候總是需要加上文件夾名稱,導致引用的路徑很長,所以我們要根據目錄結構進行路徑獲取和拼接(當前www-->html-->index.html):

具體代碼

通過本地html文件中的內容去加載webView,[self.jxwebView loadHTMLString:htmlString baseURL:baseUrl];

這里的重點是“ baseUrl ” !!!!!!!


如果你碰到這種情況:能成功加載html文件,但是沒法引用css和js就像這樣

無法加載css和js

可能的原因:

1、你的baseUrl給錯了,這個需要是你要加載文件的根目錄

2、你的html文件和css、js文件不在一個父目錄下

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容