在iOS中調(diào)用HTML

iOS中調(diào)用HTML借助WebView來(lái)顯示
方法://加載網(wǎng)頁(yè)

NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[self.webView loadRequest:request];

如果想在iOS對(duì)HTML操作(增,刪,改,查):
首先要執(zhí)行webView的代理方法:

-(void)webViewDidFinishLoad:(UIWebView *)webView{}

在代理方法中執(zhí)行那些操作

#pragma mark - 操作網(wǎng)頁(yè)
-(void)webViewDidFinishLoad:(UIWebView *)webView{
// 刪除
NSString *str1 = @"var word = document.getElementById('word');";
NSString *str2 = @"word.remove();";
[webView stringByEvaluatingJavaScriptFromString:str1];
[webView stringByEvaluatingJavaScriptFromString:str2];
// 更改
NSString *str3 = @"var change = document.getElementsByClassName('change')[0];" "change.innerHTML = '好你的哦!';";
[webView stringByEvaluatingJavaScriptFromString:str3];
// 插入NSString *str4 =@"var img = document.createElement('img');" 
"img.src = 'img_01.jpg';"
 "img.width = '160';" 
"img.height = '80';"
 "document.body.appendChild(img);";
[webView stringByEvaluatingJavaScriptFromString:str4];}

在HTML中調(diào)用iOS

//加載網(wǎng)頁(yè) 
NSURL *url = [[NSBundle mainBundle] URLForResource:@"index" withExtension:@"html"];
 NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[self.webView loadRequest:request];

首先要執(zhí)行webView的代理方法:
這個(gè)代理方法,可以實(shí)時(shí)監(jiān)聽(tīng)到HTML發(fā)出的事件點(diǎn)擊

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

}

下面是加載的HTML里面的內(nèi)容, 實(shí)現(xiàn)的是通過(guò)按鈕點(diǎn)擊,訪問(wèn)相冊(cè):

<html>
<head>
     <meta charset="UTF-8">
</head>
<body>
 <button onclick="getImage();">訪問(wèn)相冊(cè)</button>
 <script> function getImage(){ window.location.href = 'xmg://getImage'; } </script>
</body>
</html>

在webView的代理方法里面可以實(shí)時(shí)監(jiān)聽(tīng), 所以可以截取到xmg://getImage 這個(gè)字符串,我們只要截取最后的getImage, 然后在iOS中調(diào)用對(duì)應(yīng)的方法,就可以實(shí)現(xiàn)調(diào)用iOS中的功能, 所有實(shí)現(xiàn)HTML調(diào)用iOS,訪問(wèn)相冊(cè)

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ 
NSString *str = request.URL.absoluteString; 
NSRange range = [str rangeOfString:@"xmg://"];
//判斷是不是以這開(kāi)頭的協(xié)議
 if (range.location != NSNotFound) {
//能找到 NSString *method = [str substringFromIndex:range.location + range.length]; 
SEL sel = NSSelectorFromString(method);
 [self performSelector:sel];
 }
 return YES;
}

- (void)getImage{ 
UIImagePickerController *pickerImg = [[UIImagePickerController alloc]init];
 pickerImg.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
 [self presentViewController:pickerImg animated:YES completion:nil]; 
}

<本文轉(zhuǎn)載自 Tanyfi>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 今天整理的是洗衣機(jī)旁的置物架。 裝修時(shí)因?yàn)橐A(yù)留洗衣機(jī)下水孔,以至于洗衣機(jī)和墻面間留了一個(gè)約2...
    軒莉多彩閱讀 252評(píng)論 0 0
  • news:ibireme的博客: http://blog.ibireme.com/ 王巍的博客:http://on...
    iven_zf閱讀 753評(píng)論 0 6
  • 2014年10月22日 21:58瀏覽(258) 中國(guó)古人最偉大的發(fā)明之一,就是五行學(xué)說(shuō)。五行是看得見(jiàn),摸得著的物...
    鎮(zhèn)南方良金閱讀 269評(píng)論 0 1
  • “不要暴力陪練”、“不要打罵孩子”、“要多做引導(dǎo)”等等,都已經(jīng)是老生常談了,但依然有很多家長(zhǎng)在陪練時(shí),一言不合就打...
    喵老師筆記閱讀 481評(píng)論 0 2

友情鏈接更多精彩內(nèi)容