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文件不在一個父目錄下