WKWebview 加載本地html况毅,css分蓖,js,并且在url后面拼接參數(shù)

加載本地前端文件夾下的文件(相對路徑加載html中需要的css尔许,js)

  • 添加文件時使用引用模式添加么鹤,選擇下圖中紅色標(biāo)記
  • 使用下面代碼加載,我試了iOS10-12都是可以的味廊。


    1559111541741.jpg
      let wkwebview = WKWebView.init(frame: view.bounds)
        view.addSubview(wkwebview)
        
        ///work:html文件名蒸甜,webviewSdk:html文件所在的文件夾
        var path = Bundle.main.path(forResource: "work", ofType: "html", inDirectory: "webviewSdk") ?? ""
        let dicPath = Bundle.main.bundlePath
//        path = path + "?userId=62154&lessonId=35237&entry=2&token=updatetokenb4666dba-afbb-45cf-aa7b-904a1c3bc8e9"
//        wkwebview.loadFileURL(URL.init(fileURLWithPath: path), allowingReadAccessTo: URL.init(fileURLWithPath: dicPath))
//        wkwebview.load(URLRequest.init(url: URL.init(string: path, relativeTo: URL.init(fileURLWithPath: dicPath))!))//relativeTo 必須設(shè)置正確的文件夾路徑才可以,nil不可以
//        wkwebview.load(URLRequest.init(url: URL.init(fileURLWithPath: path)))
//        wkwebview.load(URLRequest.init(url: URL.init(string: path)!))///不可以
//        wkwebview.load(URLRequest.init(url: URL.init(fileURLWithPath: path, relativeTo: URL.init(fileURLWithPath: dicPath))))
//        wkwebview.load(URLRequest.init(url: URL.init(fileURLWithPath: path, isDirectory: false)))///isDirectory為true時不行
        wkwebview.load(URLRequest.init(url: URL.init(fileURLWithPath: path, isDirectory: false, relativeTo: nil)))//relativeTo設(shè)置nil和具體值都可以

補(bǔ)充一個URL轉(zhuǎn)換規(guī)則余佛,AFN里面的
 Below are a few examples of how `baseURL` and relative paths interact:

    NSURL *baseURL = [NSURL URLWithString:@"http://example.com/v1/"];
    [NSURL URLWithString:@"foo" relativeToURL:baseURL];                  // http://example.com/v1/foo
    [NSURL URLWithString:@"foo?bar=baz" relativeToURL:baseURL];          // http://example.com/v1/foo?bar=baz
    [NSURL URLWithString:@"/foo" relativeToURL:baseURL];                 // http://example.com/foo
    [NSURL URLWithString:@"foo/" relativeToURL:baseURL];                 // http://example.com/v1/foo
    [NSURL URLWithString:@"/foo/" relativeToURL:baseURL];                // http://example.com/foo/
    [NSURL URLWithString:@"http://example2.com/" relativeToURL:baseURL]; // http://example2.com/

 Also important to note is that a trailing slash will be added to any `baseURL` without one. This would otherwise cause unexpected behavior when constructing URLs using paths without a leading slash.

加載本地文件夾下的html帶參數(shù)

  • 第一種方式適合直接加進(jìn)項目中的文件(沙盒下不可以)
let wkwebview = WKWebView.init(frame: view.bounds)
view.addSubview(wkwebview)
var path = Bundle.main.path(forResource: "work", ofType: "html", inDirectory: "Resource/webviewSdk") ?? ""
let dicPath = Bundle.main.bundlePath
path = path + "?userId=1111&lessonId=0000"
//帶參數(shù)時只能使用這種請求方式柠新,上面的幾種不可以
wkwebview.load(URLRequest.init(url: URL.init(string: path, relativeTo: URL.init(fileURLWithPath: dicPath))!))
  • 第二種方法加載本地html帶參數(shù),支持沙盒文件
@parms dicPath 為html文件所在路徑
-(NSURL*)p_loadTeacherWorkHtmlPath:(NSString*)dicPath parms:(NSDictionary*)dic{
    NSString *userId = [NSString stringWithFormat:@"%ld",(long)[GZUserMoel shareInstance].userId];
    NSString *token = isStringEmpty([GZCacheManager getCurrentCookie].token)?@"":[GZCacheManager getCurrentCookie].token;
    NSString *userType = @"10";
    NSString *entry = [NSString stringWithFormat:@"%@",dic[@"entry"]==nil?@"":dic[@"entry"]];
    NSString *serial = [NSString stringWithFormat:@"%@",dic[@"serial"]==nil?@"":dic[@"serial"]];
    NSString *lessonId = [NSString stringWithFormat:@"%@",dic[@"lessonId"]==nil?@"":dic[@"lessonId"]];
    
    NSURL *fileUrl = [NSURL fileURLWithPath:dicPath isDirectory:NO];
    NSURLComponents *urlComponents = [NSURLComponents componentsWithURL:fileUrl resolvingAgainstBaseURL:NO];
    [urlComponents setQueryItems:@[[NSURLQueryItem queryItemWithName:@"userId" value:userId],
                                   [NSURLQueryItem queryItemWithName:@"params" value:value],
                                   [NSURLQueryItem queryItemWithName:@"params" value: value],
                                   [NSURLQueryItem queryItemWithName:@"params" value: value],
                                   [NSURLQueryItem queryItemWithName:@"params" value: value],
                                   [NSURLQueryItem queryItemWithName:@"params" value:@"1"],
                                   [NSURLQueryItem queryItemWithName:@"params" value: value],
                                   ]];
    return urlComponents.URL;
}

當(dāng)然肯定還有其他的方法可以實現(xiàn)辉巡,這幾種是我在現(xiàn)在項目中使用的恨憎,經(jīng)過一段時間來看還是比較穩(wěn)定的,在此做個筆記老不寫準(zhǔn)備的demo都找不到了郊楣,如果錯誤歡迎指正憔恳。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市净蚤,隨后出現(xiàn)的幾起案子钥组,更是在濱河造成了極大的恐慌,老刑警劉巖今瀑,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件程梦,死亡現(xiàn)場離奇詭異,居然都是意外死亡放椰,警方通過查閱死者的電腦和手機(jī)作烟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砾医,“玉大人拿撩,你說我怎么就攤上這事∪缪粒” “怎么了压恒?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵影暴,是天一觀的道長。 經(jīng)常有香客問我探赫,道長型宙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任伦吠,我火速辦了婚禮妆兑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘毛仪。我一直安慰自己搁嗓,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布箱靴。 她就那樣靜靜地躺著腺逛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衡怀。 梳的紋絲不亂的頭發(fā)上棍矛,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天,我揣著相機(jī)與錄音抛杨,去河邊找鬼够委。 笑死,一個胖子當(dāng)著我的面吹牛蝶桶,可吹牛的內(nèi)容都是我干的慨绳。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼真竖,長吁一口氣:“原來是場噩夢啊……” “哼脐雪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起恢共,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤战秋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后讨韭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體脂信,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年透硝,在試婚紗的時候發(fā)現(xiàn)自己被綠了狰闪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡濒生,死狀恐怖埋泵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤丽声,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布礁蔗,位于F島的核電站,受9級特大地震影響雁社,放射性物質(zhì)發(fā)生泄漏浴井。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一霉撵、第九天 我趴在偏房一處隱蔽的房頂上張望磺浙。 院中可真熱鬧,春花似錦喊巍、人聲如沸屠缭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至款咖,卻和暖如春何暮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铐殃。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工海洼, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人富腊。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓坏逢,卻偏偏與公主長得像,于是被迫代替她去往敵國和親赘被。 傳聞我的和親對象是個殘疾皇子是整,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • iOS WKWebView 本地HTML羊异、JS事秀、CSS文件加載詳解 Tips:NSString類型的文件路徑轉(zhuǎn)換為...
    浮生隨筆閱讀 30,569評論 7 37
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,728評論 1 92
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,089評論 1 32
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5野舶? 答:HTML5是最新的HTML標(biāo)準(zhǔn)易迹。 注意:講述HT...
    kismetajun閱讀 27,422評論 1 45
  • 溝通力訓(xùn)練營第一期。 故事: 2018年11月1日早晨平道,泉水寶寶開車上班睹欲。上班路上,小伙伴發(fā)來作業(yè)巢掺。泉水寶寶匆匆忙...
    泉水_544e閱讀 713評論 0 7