當前位置:首頁 » 網頁前端 » 載入本地web
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

載入本地web

發布時間: 2022-10-29 02:23:44

A. iOS WKWebView載入本地html

1、將html文件夾拖入項目根目錄下,選擇引用(藍色文件夾)
2、獲取index.html所在的路徑
3、webView調用loadFileURL:allowingReadAccessToURL:方法載入

如果需要拼接額外參數,需要手動拼接地址,直接用fileURLWithPath生成的鏈接,會進行編碼

NSString *basePath = [NSString stringWithFormat: @"%@/%@", [[NSBundle mainBundle] bundlePath], @"index.html所在的文件夾"];
NSURL *baseUrl = [NSURL fileURLWithPath: basePath isDirectory: YES];
NSString *filePath = [NSString stringWithFormat: @"file://%@/index.html#/?xxx=%@&sss=%@", basePath, @"xxx", @"sss"];
NSURL *fileUrl = [NSURL URLWithString: filePath];
[_webView loadFileURL: fileUrl allowingReadAccessToURL: baseUrl];

B. 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]];            

       }        

}

C. Webview載入本地html罕見bug

一般來說WebView 載入本地html很簡單 如下圖實現就好了

但是很坑的是 html不僅能命名為readme 命名是readme的就無法載入 換一個名稱test就可以 了。真是罕見的bug

D. Android-WebView中載入本地html的方法

Android在webview下載入本地網頁的方式

首先,在src目錄下面新建一個assets目錄,之後新建一個web資源的根目錄,如下圖所示:

這里的Web目 錄名可以任意起,但是必須有這一層,否則可能拿不到資源

之後再webview中載入資源:

webView.loadUrl("file:///android_asset/web/index.html");

//注意一點,目錄名是assets,資源路徑中是asset

E. 如何用webview載入本地網頁

UIWebView載入工程本地網頁與本地圖片

- (void)viewDidLoad
{
[super viewDidLoad];

NSString *filePath = [[NSBundle mainBundle]pathForResource:@"1" ofType:@"html"];
NSString *htmlString = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

myWebView = [[UIWebView alloc] initWithFrame:self.view.bounds];
myWebView.delegate = self;
[self.view addSubview:myWebView];

[myWebView loadHTMLString:htmlString baseURL:[NSURL URLWithString:filePath]];

}

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *imagePath = [[NSBundle mainBundle] resourcePath];
imagePath = [imagePath :@"/" withString:@"//"];
imagePath = [imagePath :@" " withString:@"%20"];
NSString * js = [NSString stringWithFormat:@"document.images[0].src='file:/%@//%@'",imagePath,@"icon-04.png"];

[myWebView :js];
NSString *path = [myWebView :@"document.images[0].src"];
NSLog(@"path:%@", path);
}

F. WKWebView載入本地Web項目文件(WKWebView離線載入)及帶參數請求

隨著蘋果爸爸強制推動WKWebView替代UIWebView,各舊項目的替換工作隨之而來,據說在2020年12月31日前未將UIWebView替換成WKWebView的項目將會被下架,而新項目在初次上線審核就會被卡。

G. WKWebView載入本地html

WKWebView載入本地的html,可使用以下方法:

其中,url為你本地的地址。
除此之外,還必須在WKWebView加入以下設置,否則是白頁!

這句是為了解決跨域問題。

H. webbrowser載入本地網頁

直接打本地網頁文件的全路徑 如:c:\1.htm就可以顯示了

I. [Swift]使用WKWebView載入本地HTML文件

我們項目中有的時候會使用HTML寫一些靜態頁面, 然後直接載入顯示到我們的APP中, 之前一直使用的UIWebView來載入, 是這樣的:

如果想使用WKWebView來載入, 好像失敗了:

這樣是載入不了本地的HTML文件的. 下面就來看一下載入本地HTML的方法.

一般我們直接添加到項目中的文件是默認Create groups的, 即: 在我們添加文件到項目中, 例如一個文件夾, 選項是這樣的:

這樣在項目中添加的文件夾是黃色的, 這時我們在載入HTML的不能使用path來載入了, 應該使用URL, 即:

如果還是使用filePath來載入, 也是可以的, 但是將HTML文件添加到資源目錄的時候需要注意: 我們需要選擇Create folder references, 為便於區分, 我同樣是添加了一個文件夾, 然後將HTML文件添加到這個文件下面:

這時候會發現, 文件夾是藍色的, 項目中是這樣的:

將HTML文件放到這個藍色文件夾下面後, 我們就可以在項目中這樣使用WKWebView來載入了:

這里最主要的是需要自己來拼接完整的文件路徑:

上面黃色文件夾Files下的HTML可以使用UIWebView, 使用之前的方式載入, 也可以使用WKWebView以URL的方式來載入; 藍色HTML_Files文件夾下的HTML文件, 可以使用上面的方式用WKWebView以路徑的方式來來載入.