本文目錄一覽:
微信內置瀏覽器ios系統下js加載事件問題
你的系統是否使用了session或者cookie?
如果是,那原因就是:ios系統下的瀏覽器屏蔽了cookie,ajax請求的時候,session或cookie丟失造成數據不能正確讀取
安卓瀏覽器沒有屏蔽,所以數據是正常的
iOS WebView加載本地js、css文件
思路:對html進行操作,然後webView loadHtml
將需要的js、css資源導入創建好的bundle下,如上圖
WKWebView *webView = [[WKWebView alloc]initWithFrame:frame]];
這個filePaths 就是需要加載的 js、css文件在本地的路徑,是個數組,因為可能需要加載本地的多個js、css文件, 如果需要加載的js、css文件較多,可以讓後台傳給你對應js、css文件的路徑,注意傳的路徑要跟導入本地的資源路徑一致,否則會加載失敗。
//路徑path
NSArray *pathArray = dict[@”filePath”];
if (pathArray) {
NSError *error;
//獲取網絡的HTML
NSString * online_HTML = [NSString stringWithContentsOfURL:[NSURL URLWithString:url] encoding:NSUTF8StringEncoding error:error];
if(!error) {
//以分割
NSArray * array_HTML = [online_HTML componentsSeparatedByString:@”/head”];
NSMutableString *header_HTML = [[NSMutableString alloc]initWithString:array_HTML.firstObject];
for (NSString *path in pathArray) {
//注意這裡的hightcharts.bundle,更改成你本地的bundle名
NSString *filePath = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@”hightcharts.bundle/%@”,path] ofType:nil];
if ([filePath hasSuffix:@”js”]) {
[header_HTML appendFormat:@”script src=\”%@\”\script”,filePath];
}else if ([filePath hasSuffix:@”css”]){
[header_HTML appendFormat:@”link rel=\”stylesheet\”
[_webView loadHTMLString:header_HTML baseURL:[[NSBundle mainBundle] bundleURL]];
}
}
蘋果手機加載頁面還是舊版的js
是瀏覽器緩存的問題。
CTRL+SHIFT+DELETE清除瀏覽器本地緩存快捷鍵,瀏覽器緩存是為了節約網絡的資源加速瀏覽,瀏覽器在用戶磁盤上對最近請求過的文檔進行存儲,當訪問者再次請求這個頁面時,瀏覽器就可以從本地磁盤顯示文檔,這樣就可以加速頁面的閱覽。
瀏覽器緩存主要有兩類:緩存協商和徹底緩存。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/187019.html