IOS js交互(網頁按鈕點擊回調)

網頁里面的一段 html 代碼如下

<? br? > <? input type="button"? onclilc="window.demo.toMesssage()"? value="1、消息"/ >? < br >

<? br? > <? input type="button" onclick="window.demo.toActive()? value="2、賽事" / >? <? br? >

比如有這2個按鈕。點擊網頁后從app跳轉到消息和活動界面

在IOS上處理方法是:

利用js注入

[webView stringByEvaluatingJavaScriptFromString:@"demo={};"];

NSString *jsMethodStr1 = [NSString stringWithFormat:@"demo.toActive();"];

NSString *jsMethodStr2 = [NSString stringWithFormat:@"demo.toMesssage();"];

[webView stringByEvaluatingJavaScriptFromString:jsMethodStr1];

[webView stringByEvaluatingJavaScriptFromString:jsMethodStr2];

代碼注入后的回調代碼

JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

NSString *demo =@"demo";

//消息

context[demo][@"toMesage"] = ^() {

//點擊網頁中消息按鈕后回調

};

context[demo][@"toActive"] = ^() {

//點擊網頁中賽事按鈕后回調

};

如果有參數的,寫在塊的參數列表就可以了

一段代碼試例,請自行代碼優化

覺得有用處的 請給個好評啊~~

文/小土炮(簡書作者)

原文鏈接:http://www.lxweimin.com/p/88c7690901b2

著作權歸作者所有,轉載請聯系作者獲得授權,并標注“簡書作者”。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 網頁里面的一段 html 代碼如下 < br > < input type="button" onclilc="w...
    kentchen91閱讀 3,962評論 3 10
  • 一、簡介 近兩年隨著HTML5的迅速發展與日趨成熟,越來越多的移動開發者選擇使用HTML5來進行混合開發,不僅節約...
    RainyGY閱讀 1,894評論 1 12
  • 隨著H5技術的興起,在iOS開發過程中,難免會遇到原生應用需要和H5頁面交互的問題。其中會涉及方法調用及參數傳值等...
    Chris_js閱讀 3,109評論 1 8
  • 跟原生開發相比,H5的開發相對來一個成熟的框架和團隊來講在開發速度和開發效率上有著比原生很大的優勢,至少不用等待審...
    大沖哥閱讀 1,864評論 0 7
  • iOS開發系列--網絡開發 概覽 大部分應用程序都或多或少會牽扯到網絡開發,例如說新浪微博、微信等,這些應用本身可...
    lichengjin閱讀 3,711評論 2 7