[IOS經(jīng)驗(yàn)總結(jié)]UIWebView與JS之間的數(shù)據(jù)交互(轉(zhuǎn)自神州iOS)

[IOS經(jīng)驗(yàn)總結(jié)]UIWebView與JS之間的數(shù)據(jù)交互

[IOS經(jīng)驗(yàn)總結(jié)]UIWebView與JS之間的數(shù)據(jù)交互,有需要的朋友可以參考下。

在IOS中原生控件很多.能自定義的控件也很多.但在視圖界面的開發(fā)上如果用原生的控件去做就顯得非常麻煩了.在我已知的技術(shù)中擁有最便捷和效果最好的視圖技術(shù)展示技術(shù)中.最優(yōu)秀的就要屬網(wǎng)頁.假如用到HTML來展示視圖界面的話.我們就需要一個(gè)承載的容器.這個(gè)容器IOS已經(jīng)幫我們提供好了,那就是我們今天的主角UIWebView控件.

準(zhǔn)備工作:

一個(gè)完整的html頁面.

一.將html網(wǎng)頁加載進(jìn)入U(xiǎn)IWebView容器中

在"-(void)viewDidLoad”方法中加入如下代碼

NSString*webPath = [[NSBundlemainBundle]pathForResource:@“HelloWord"ofType:@"html”];//獲取文件路徑

NSURL*webURL = [NSURLfileURLWithPath:webPath];//通過文件路徑字符串設(shè)置URL

NSURLRequest*URLRequest = [NSURLRequestrequestWithURL:webURL];//設(shè)置請求提交的相關(guān)URL

[self.webViewloadRequest:URLRequest];//提交請求

二.加入U(xiǎn)IWebViewDelegate委托(如果想要進(jìn)行相應(yīng)的數(shù)據(jù)交互必須添加相應(yīng)的我委托)

1.-(BOOL)webView:(UIWebView

*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType//html頁面的js動(dòng)作觸發(fā)時(shí)運(yùn)行

2.-(void)webViewDidFinishLoad:(UIWebView

*)webView //html加載完后觸發(fā)

三.OC提交JS請求.運(yùn)行JS方法

[self.webViewstringByEvaluatingJavaScriptFromString:@”方法名(%@)",參數(shù)]];

四.JS提交請求到OC

在-(BOOL)webView:(UIWebView*)webView

shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType中添加如下代碼:

NSString*requestString = [[requestURL]absoluteString];//獲取請求的絕對路徑.

NSArray*components = [requestStringcomponentsSeparatedByString:@":”];//提交請求時(shí)候分割參數(shù)的分隔符

if([componentscount]

>1&& [(NSString

*)[componentsobjectAtIndex:0]isEqualToString:@"testapp"])

{

//過濾請求是否是我們需要的.不需要的請求不進(jìn)入條件

if([(NSString

*)[componentsobjectAtIndex:1]isEqualToString:@"change"])

{

//所要執(zhí)行的操作

}

returnNO;

}

returnYES;

五.HTML中JS的寫法.

1.接收請求的方法寫法

functionfund(){

//操作

}

2.提交請求的方法寫法

functionsendCommand(cmd,param){

varurl="testapp:"+cmd+":"+param;//組合請求字符串

document.location = url;//提交的請求

}

最后附上例子程序(傳送陣):

http://download.csdn.net/detail/fqcl992/692937

文/神州iOS(簡書作者)

原文鏈接:http://www.itdecent.cn/p/d3d8c11629ff#

著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),并標(biāo)注“簡書作者”。

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

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

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