iOS和JS之间的交互

ios WebViewJavascriptBridge与js互相调用 正在整理文章,这两天发布,点开看见的朋友,可以先收藏,过几天发布就可以看了 阅读详情

iOS调用JS的方法:

    //js方法名+参数
    NSString* jsCode = [NSString stringWithFormat:@"initCarLicenseInfo('%@')",object];
    
    //调用html页面的js方法
    [webView stringByEvaluatingJavaScriptFromString:jsCode];

JS调用iOS的方法:

这里iOS通过拦截H5触发的alert来实现调用,H5触发一个alert弹窗,将要调用的iOS方法名作为弹窗内容,iOS这边通过以下方法拦截这个弹窗,获取到方法名称,然后实现调用

@interface UIWebView (JavaScriptAlert)
- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(CGRect *)frame;
@end

@implementation UIWebView (JavaScriptAlert)
- (void)webView:(UIWebView *)sender runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(CGRect *)frame {
    if ([message isEqualToString:kShowTakePhotoButton]) {
        [[NSNotificationCenter defaultCenter] postNotificationName:kShowTakePhotoButton object:message];
    }
    else if([message isEqualToString:kHideTakePhotoButton]) {
        [[NSNotificationCenter defaultCenter] postNotificationName:kHideTakePhotoButton object:message];
    }
    else
    {
        [DXCommon showAlertMessage:message];
    }

    NSLog(@"h5 message = %@",message);
}

@end

只要将以上类别导入到iOS工程中去就OK了,方法的实现是app工具自己的情况去实现,例如这里我拦截到kShowTakePhotoButton和kHideTakePhotoButton的时候分别抛出通知调用相应的方法,并且没有弹框,其他时候正常弹框;


实现类似微信里面浏览H5:

加载H5的并使用原生导航栏的时候,我们通过webView.canGoBack来判断是否是返回到最后一级页面,如果不是最后一级,添加关闭按钮(实现导航控制器pop),而返回按钮实现[webView goBack];方法来实现返回上一级页面,否则导航控制器pop;



思科模拟器实战:MQTT协议实现物联网设备通信全流程解析 本文详细解析了如何在思科模拟器中利用MQTT协议实现物联网设备通信的全流程。通过搭建网络拓扑、配置MQTT Broker与客户端,并编写发布/订阅逻辑,手把手指导读者完成一个“开关控制电灯”的经典物联网场景实验,帮助零成本掌握物联网通信核心。 阅读详情

相关推荐

新手必看:如何用PhaGCN2和vConTACT2搞定宏病毒组注释(附避坑指南)

本文为宏病毒组研究新手提供了使用PhaGCN2和vConTACT2进行病毒注释的完整实战指南。内容涵盖从Conda环境配置、软件安装、参数解析到结果解读的全流程,并重点分享了整合双工具进行交叉验证的策略与常见报错解决方案,旨在帮助研究者高效、准确地完成病毒分类注释工作。

j2k3l4的博客 797

iOS JS交互总结,看这一篇文章就够了!

序言 本文总结了我对JS交互的一些使用经验。包含Web调用OC、OC调用Web、JS文件本地化维护、纯原生的JS写法、开源库(WebViewJavascriptBridge)的详细用法,以及Html的实现片段。 一、Web调用OC 1.1 直接调用无返回值。如调用原生的验证码校验控件。 首先要在JS文件中添加方法实现: 然后在.m中注册并拦截方法: [self.bridge registerHandler:JSApi_booking handler:^(id data, WVJBResp.

小小爬山虎 2241

算法交易VWAP&TWAP

VWAP的一些算法模型细节参考博客地址http://blog.sina.com.cn/s/blog_ad47bc5b01014elx.html 日内交易量预测模型http://blog.sina.com.cn/s/blog_976461170102v43p.html 算法交易其实主要是用在基金公司、券商量化比较多。例如我已经选好股,要大量买入,但是单凭交易员的操作海量单而且要完

shulixu的博客 1万+

iOS与JS交互的4种方法

iOS与JS交互的方法:1.拦截url(适用于UIWebView和WKWebView) 2.JavaScriptCore(只适用于UIWebView,iOS7+) 3.WKScriptMessageHandler(只适用于WKWebView,iOS8+) 4.WebViewJavascriptBridge(适用于UIWebView和WKWebView,属于第三方框架) 下面以假设的需求进行

dolacmeng的专栏 6万+

GEOPHYSICS 投稿避坑指南:从格式规范到双盲评审的实战解析

本文详细解析了GEOPHYSICS期刊投稿的全流程避坑指南,从格式规范、数据声明到双盲评审的实战策略。特别强调了数学公式排版、图表制作标准以及投稿系统的隐藏关卡,帮助作者避免常见错误,提升投稿成功率。

weixin_30606461的博客 236

Shopee App加密算法逆向实战:从抓包到libshpssdk.so的深度解析

本文详细解析了Shopee App加密算法的逆向过程,从网络抓包发现加密参数入手,通过Frida动态Hook定位到Java层关键方法,并深入追踪至Native层的libshpssdk.so核心函数。文章结合实战演示了如何利用Unidbg模拟执行环境进行算法分析与验证,并探讨了核心参数生成逻辑及风控规避要点,为移动安全与逆向工程研究提供了完整的技术路径。

weixin_28347369的博客 527

iOS与JS交互(全)

一,说明:(此文转载,如果涉及任何版权问题,请联系我) 转载自:天狐博客 » js(javascript)与ios(Objective-C)相互通信交互 话说,当时在找js交互这块内容时,朋友给了我这个非常好的代码,我照着这个demo从头敲到尾,对js交互有了很大的理解.今天找到了代码来源,并转载他的博客. 二,讲解: 随着苹果SDK的不断升级,越来越多的新特性增加

LuochuanAD的博客 2958

rk3576 适配摄像头 (mipi 双摄)

RK3576 自带两个 4-Lane DPHY 和一个 DCPHY CSI 接口,可以连接 4lane 的双摄像头,最直接的方式就是充分利用其两个 D-PHY 接口。次选方案是 DCPHY + DPHY方案,更次之方案是单DPHY,设置成分离模式,连接两颗摄像头。

weixin_35723192的博客 392

iOS原生和前端JS交互真没那么简单,了解背后实现让你受益匪浅

JavaScriptCore 开发 App 的框架 ,比如React Native、Weex、小程序、WebView Hybird等框架。

砥砺前行的博客 4138

基于opencv的鱼群检测和数量统计识别鱼群密度带界面

摘要:本项目利用OpenCV图像处理技术实现了视频鱼类自动检测计数系统。通过背景减除、形态学处理和轮廓检测等方法,在视频帧中标记鱼类并统计数量。系统包含视频读取、前景提取、轮廓分析、中心点跟踪等核心功能,可实时显示计数结果。适用于水产养殖、生态监测等领域,具有实用价值。未来可通过参数优化、引入深度学习和多目标跟踪技术进一步提升准确性。(147字)

1720

AI人工智能 Agent:在仓储物流中的应用

AI人工智能 Agent:在仓储物流中的应用 1. 背景介绍 1.1 问题的由来 仓储物流行业是全球经济运行的基石之一,涉及商品的存储、运输、分拣和配送等多个环节。随着电子商务的普及和消费者对物流速度和精确性的要求不断提高,仓储物流

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 863

UIWebView js oc相互调用的三种方法

转自:http://www.jianshu.com/p/dbddfc0eaa26 JS oc相互调用方法: 1.利用定义url调用 2.利用js直接调用 3.利用js里对象调用 首先先创建UIWebView对象,加载本地html文件 //加载本地html文件 NSString *htmlPath = [[NSBundle mainBundle] pathFor

爱技术....爱生活! 7375

GEE APP:基于Sentinel-1 SAR数据的洪水检测与制图系统:利用GEE平台实现洪涝区域提取、面积统计及矢量栅格化导出

本文介绍了一个基于Google Earth Engine平台的Sentinel-1 SAR洪水监测应用,通过自动化流程实现洪水淹没区域的精准检测与分析。系统采用Refined Lee滤波降噪和Otsu自适应阈值算法,结合SRTM地形数据消除干扰,可自动计算淹没面积并生成可视化结果。该工具提供用户友好的交互界面,支持多格式数据导出,适用于灾害应急响应、环境监测和城市规划等领域,具有云平台处理、算法鲁棒性强和操作简便等技术优势。

此星光明博客 327

iOS与Html5和JS之间的交互

ios与js交互 WebViewJavascriptBridge框架可以用pod方式加入工程pod 'WebViewJavascriptBridge' 首先采用的框架是WebViewJavascriptBridge,采用这套框架可以方便的使iOS与JS交互 一. 流程图(主要介绍思路) 二.iOS端如何使用 首先导入#import"WebViewJavascriptBridge.h"文件第一步:开启日志//开启日志,方便调试[WebView JavascriptBridge enabl...

u013712343的博客 375

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

oc 调用html的js方法的区别,iOS开发中,实现UIWebView,html和js之间的交互

闲暇时间写个小demo,用于实现交互。1.导入库:#import 2.实现js调用oc方法(1)创建JSContext对象(通过当前webView的键获取到jscontext)JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];(2)js调用,...

weixin_42522131的博客 128

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

webview ios返回时触发html,iOS开发中,实现UIWebView,html和js之间的交互

闲暇时间写个小demo,用于实现交互。1.导入库:#import 2.实现js调用oc方法(1)创建JSContext对象(通过当前webView的键获取到jscontext)JSContext *context = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];(2)js调用,...

weixin_36308848的博客 185

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

关于iOS与JS的点击事件交互

本人最近要处理关于iOS与JS交互,主要是点击事件与值传递 第一步: #import <JavaScriptCore/JavaScriptCore.h> @property (nonatomic ,strong) UIWebView * webView; @prop...

508

iOS开发中,实现UIWebView,html和js之间的交互

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34247155的博客 130

JSBridge,JavaScript和原生Native 交互,iOS和HTML5交互

大家好,我是OB。 故不积洼步,无以至千里。今天给大家分享一下native和js的交互。 用到了一个小工具:OBJSBridge 支持pod 集成 : pod 'OBJSBridge' 如果不想用pod,也可以直接把源码拖到项目中去。只需要OBJSBridge.h OBJSBridge.m 就可以了。代码地址 记得star哟。 最近项目中加载了很多HTML页面,所以native和js 的交互显得格外重要。 最主要运用场景是:客户端登录,如何把用户的登录信息传递给js;另一面在商品详情页(html)中选购的

_ 861

iOS oc与js的交互之WebviewJavaScripteBridge

在app中嵌套webview,让js和oc之间的交互是一种很灵活的应用,特别是在电商这一块。 先看看不适用第三方框架时oc和js之间是怎么调用的: 1、oc调用js: 通过webview的stringbyEvaluteJavaScriptFromString: - (nullable NSString *)stringByEvaluatingJavaScriptFromString:(N

gx_wqm的专栏 579

ios webkit html交互,iOS WebView 与 JS 的交互封装

博客搬家iOS UIWebView逐渐被淘汰, WKWebView成为主流. 本文封装了WKJSWebView(代码见第三节),参考EasyJSWebView的交互方式, 对其进行了修改和增加. 可以实现原生调用JS, 也可以JS调用原生。一. 使用方法JS调原生创建一个交互类, 定义给js的交互接口// OC#import #import "WKJSWebView.h"@interface JS...

weixin_31002061的博客 581

wkwebview替换uiwebview_UIWebView 替换成 WKWebView 与 JS 交互的兼容

JS代码let postMessageToApp = (json) => {if (!json) {throw new Error('參數不正確')}try {AppModel.jumpToApp(json) // UIWebview 的调用方式,老的//分享 AppModel.share(json)} catch (error) {console.log(error)}try {windo...

weixin_28909745的博客 275

iOS与Html5和JS之间的交互---学习笔记

首先采用的框架是WebViewJavascriptBridge,采用这套框架可以方便的使iOS与JS交互 window.onerror=function(err) { log('window.onerror:'+err) }/*这段代码是固定的,必须要放到js中*/function setupWebViewJavascriptBridge(callback) {if(wind

田风有的博客 548

iOS webView的高级用法之JS交互

前言:说起JS交互,很多童鞋会黯然色变,感觉很高深的样子。大部分小伙伴只知道一种,哪一种我也说说吧。    1.在webView中将要请求的时候,拦截URL,进行重定向,然而该场景实用有限,网上资料也很多下面说说另一种交互方式。 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)req...

胡杰的专栏 6804

js与app交互

1. 判断当前页面的环境 var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU....

weixin_30591551的博客 176

android ios web,Android 和 IOS 使用 WebViewJavascriptBridge 进行交互方法

本文采用第三方工具 WebViewJavascriptBridge注册监听事件这段代码是固定的,必须要放到js中/*这段代码是固定的,必须要放到js中*/function setupWebViewJavascriptBridge(callback) {//Android使用if (window.WebViewJavascriptBridge) {callback(WebViewJavascript...

weixin_39849894的博客 368
上一篇: 获取UITableView指定行在指定视图中的位置
下一篇: iOS图片裁剪
小T是我
博客等级 码龄17年 169粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值