ios传值给js_WKWebView JS与OC间相互传值调用

写在前面

本文将介绍如何使用WKWebView进行JS与OC、OC与JS间的传值和方法调用。

前置条件

1、导入WebKit.framework

2、声明WKWebView

JS调用OC原生方法

1、前端在js文件中实现

这里要注意messageHandlers后面跟着的deviceInfo要与原生的定义的一致。

2、iOS 实现WKScriptMessageHandler协议

3、iOS 初始化WKWebView

这里注意[userController addScriptMessageHandler:self name:@"deviceInfo"];

这个方法里的deviceInfo要与前端定义的一致。

4、iOS 实现WKScriptMessageHandler协议方法

message.body就是前端传来的参数

OC调用JS方法

1、实现WKNavigationDelegate协议

2、实现WKNavigationDelegate协议的- webView: didFinishNavigation:方法

3、OC调用JS方法

其中deviceInfo('8.3')为前端给出的JS方法名8.3是需要传给前端的参数

4、注意事项

以下错误的解决方法

一定要在网页加载完成后调用,否则报错

JS方法一定要放在最外层

图片出处不详,请作者看到与我联系,侵删

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android layerlist bitmap,android shape类似的 另一个 高端用法:layer-list

android shape类似的 另一个 高端用法:layer-list:简介:将多个图片或上面两种效果按照顺序层叠起来” 《?xml version"1.0" encoding"utf-8"?>《layer-listxmlns:android"http://schemas.android.com/apk/res/…

跨域会报40几_总结一下跨域的几种情况

在网站开发中,经常会遇到跨域问题,下面总结一下集中常见的跨域问题。1. 不同域名属于跨域,如:www.a.com 和www.b.com,另外www.a.com 和www.a.com.cn也属于不同域名。2. 主域名和子域名(二级域名、三级域名等)跨域&…

android将拍摄的图片存入sd卡中,Android将图片保存至SD卡上

首先判断SD卡是否插入-->public String getSDPath(){File SDdirnull;boolean sdCardExistEnvironment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);if(sdCardExist){SDdirEnvironment.getExternalStorageDirectory();}if(SDdir!null){return S…

nedc和epa续航里程什么意思_400公里已成续航新起点,纯电动车的实用性到底怎样...

对于购买纯电动汽车的用户来说,续航里程是非常重要的参考因素,毕竟如果续航里程太短,实用性将会大打折扣,跑个长途都心惊胆战的,生怕路上遇到堵车了、没电了、中途没有加油站之类的。就算是不考虑长途,市区…

android广播示例,android接受开机广播事件

【实例简介】【实例截图】【核心代码】package com.yin.servicetest;import com.yin.service.MyService;import android.app.ActivityManager;import android.app.ActivityManager.RunningServiceInfo;import android.content.BroadcastReceiver;import android.content.Contex…

java class类_关于创建java中的class类的对象的方法

1.由于Class类没有公共构造方法,所有创建Class的对象的方法有以下几种:①通过Class.forName()静态方法返回Class类的一个实例Class cls Class.forName("test.dog - 这个网站可出售。 - 最佳的test 来源和相关信息。");②通过类名.class来获取…

android remote shell,关于 Appium V1.7.2 新增的唯一安卓可执行 mobile 命令 shell 的疑问...

关于 mobile: shell 在更新日志中说明,是从 1.7.1 升级到 1.7.2 中 “Add --relaxed-security, and mobile: shell access to adb”,并搜索 github 中 appium 库,找到需要配置 desiredcapabilities 中 relaxedSecurityEnabled 为 true&#x…

linux 正则查找email_Hello Iris简易微博类App开发教程3-查找用户和用户登录

用户邮箱地址有效性验证在上一节中,我们编写了用于用户注册的代码。但是当时并没有为用户的Email添加有效性验证,导致Email被设置为任何字符串都能注册成功。所以在本节初,我们首先来为Email添加一个有效性验证。首先还是来编写测试数据&…

pyqt生成 android,PyQt on Android

问题Im working on PyQt now, and I have to create the application on Android, Ive seen the kivy library, but its too crude.Is there any way now to run an application on Android made on PyQt?回答1:Android does not support pyQt4. PyQt5 is however supported(r…

原生的html组件,如何创建HTML5与原生UI组件混合的移动应用程序

本文将介绍如何使用Trigger.io创建原生的顶部栏、标签栏、以及HTML/CSS/JavaScript的混合型移动应用程序。以后我们将添加更多的原生UI组件到Trigger.io,但现在你只需要使用web技术就可以在IOS和Android上创建漂亮而流畅的移动应用。这是一个简单的菜谱应用程序的屏…

c语言不会可以学好java吗_有人说学了C语言,两天就能学会Java,两个星期就可以找工作?...

作为一个过来人来说,编程如果真的那么简单就不会导致现在各大公司还喊着招不到人的情况了,虽然编程领域里面有触类旁通的说法,但这个说法只是针对于对于一种编程已经掌握到一定程度了,不是简单的学过或者做过就可以轻松的转向别的…

html 正则表达式验证金额,js金额校验,js正则表达式,包含正负,小数点后两位...

js金额校验,js正则表达式,包含正负,小数点后两位,js代码如下:function isMoney(s) {//金额 只允许正数//var exp /(^[1-9]([0-9])?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;//金额 允许正()负数//…

苹果app商品定价_【知乎问答】苹果 App Store 新推出的 1 元或 3 元定价对开发者有什么影响?...

徐小懒:我的游戏今年 10 月 1 日上线,定价 6 元。上线后,排名起起落落,总的来说一直在爬升。截止到 19 号之前,爬到总榜前 20(未刷榜),最多一天 300 个下载,累计下载 3500。19 号改成 1 元后,当…

sublime默认html,Sublime Text默认HTML评论

似乎对安装包装或拆卸包装有点隐蔽,因此需要进行一些调查才能解决问题。对于后台,用于注释(单行或块)的字符或字符的设置信息由tmPreferences类型的文件提供(不是tmLanguage,如在{您在问题的评论中链接到的教程)。文件的名称及其包含的包无关…

笔记本连接显示器后没有声音_电脑用HDMI外界显示器后,没有声音

本人使用Y450, 总感觉屏幕小, 现有PHILIPS 202E, 但是笨笨VGA坏了(真是悲催啊, 但是我强悍小Y跟我也有4~5个年头了, 可以理解) 所以买了HDMI赚VGA, 接上显示器后显示非常棒, 很爽, 绝对高清. 但是唯一的缺点就是接上HDMI后笨笨就没声音, 而且我的飞利浦又没有音频输出. 悲催了…

html文本域 高度自适应,textarea高度自适应,textarea随着内容高度变化

有时候我们需要textarea的高度随着内容的多少去自适应的变化,今天我使用了JS原生和JQ写了一个textarea的高度随着他的内容高度变化的代码,希望能帮上忙。废话不多说直接贴代码:textarea{ width:500px; margin:20px auto; padding:0; font-siz…

layer 线上_LAYER

SHIPPING TO : 가나(GHANA)SHIPPING TO : 가봉(GABON)SHIPPING TO : 가이아나(GUYANA)SHIPPING TO : 감비아(GAMBIA)SHIPPING TO : 과테말라(GUATEMALA)SHIPPING TO : 그레나다(GRENADA)SHIPPING TO : 그루지야(GEORGIA)SHIPPING TO : 그리스(GREECE)SHIPPING TO : 기니(GUINEA…

ajax为什么返回html标签,AJAX与特定值后返回的HTML标签

我想写使用jQuery的post.I传递的参数,以ajax.php并获得josn数据添加用户注释代码,如下:AJAX与特定值后返回的HTML标签var formObjectData $(# form_id).serialize() &flagadd_comment; // all$.post(http://192.168.3.3/myblog/ajax.p…

wps合并所有sheet页_WPS里面如何批量打印(WPS2019)

WPS里面如何批量打印(WPS2019)分四步:1. 创建WPS表格获奖名单2. 创建WPS文字的获奖模板3. 将WPS表格名单内容调入到WPS文字奖状模板中4. 批量打印(或保存)(注:我在这里用了别人的office版本的表…

丘成桐科学奖计算机类,2017东润丘成桐科学奖计算机参赛指引.PDF

2017东润丘成桐科学奖计算机参赛指引2017 东润丘成桐科学奖 (计算机)参赛指南一、 参赛方式 每支参赛队伍由1 至3 位华人中学生组成,由一位指导老师带领,提交研究报告。 学生身份:以在参赛报名之时是否为在校中学生为准。 导师身份&…