文档章节

IOS下WEBVIEW 的javascript数组与json定义 及交互

Youtubeornotobe
 Youtubeornotobe
发布于 2013/08/20 16:15
字数 397
阅读 3979
收藏 7

最近在折腾IOS新闻浏览客户端,当中需要用到webview传递JSON数据到IOS上,然后在IOS上解析。刚入门IOS不久,看了不少的书,但都是囫囵吞枣。在开发过程中,遇到不少问题。

开发环境

mac mini (IOS端开发)

thinkpad x200s(PHP开发)

功能实现:

在WEBVIEW创建DOM监听,判断用户按下WEBVIEW上链接,通过DOM获取相关链接信息,遍历数组,最终用

$.toJSON(jsArray);//将JS数组转换成JSON格式

下面记录一下

1、JS数组定义

最终在WEBVIEW端需要传递的JSON格式为

[{"title":"网页标题1","url":"网页地址1"},{"title":"网页标题2","url":"网页地址2"}]

实现思路步骤:

首先是定义javascript数组,

var jsArray = new Array();

或者

var jsArray = [];

为了显COOL,我用后面的数组定义

问题来了:

在PHP下定义

phpArray[i]['title']=网页标题1;

轻而易举,但是在JAVASCRIPT却不行。

后来经过尝试得出了:

jsArray[i]={"title":"网页标题","url":"网页地址"};

$.toJSON();

在网上找到的toJSON插件函数,在页面上导入,当在console输出的json格式却为

   [{title:"网页标题",url:"网页地址"};]

很明显这个json格式不标准,经排除,确认是在toJSON插件下数组拼切时没有加上"

最后在WEBVIEW的JS发送json数据到IOS端

bridge.send($.toJSON(jsArray));

IOS端用了WebViewJavascriptBridge来桥接

-(void)viewDidLoad
{

_bridge = [WebViewJavascriptBridge bridgeForWebView:webView webViewDelegate:self handler:^(id data, WVJBResponseCallback responseCallback){

            NSLog(@"获取JSON数据:%@",data);

}];

}

OK,Done!


© 著作权归作者所有

共有 人打赏支持
Youtubeornotobe

Youtubeornotobe

粉丝 44
博文 210
码字总数 59509
作品 0
广州
程序员
iOS与JS交互之WKWebView-WKUIDelegate协议

级别:★★☆☆☆ 标签:「iOS与JS交互」「WKWebView与JS交互」「WKUIDelegate」 作者: Xs·H 审校: QiShare团队 先解释下标题:“iOS与JS交互”。iOS指原生代码(文章只有示例),JS指前端...

QiShare
09/03
0
0
iOS与JS交互之UIWebView-协议拦截

级别:★★☆☆☆ 标签:「iOS与JS交互」「UIWebView与JS交互」「UIWebView拦截协议」 作者: Xs·H 审校: QiShare团队 先解释下标题:“iOS与JS交互”。iOS指原生代码(文章只有示例),J...

QiShare
08/28
0
0
iOS与JS交互之WKWebView-协议拦截

级别:★★☆☆☆ 标签:「iOS与JS交互」「WKWebView与JS交互」「WKWebView拦截协议」 作者: Xs·H 审校: QiShare团队 先解释下标题:“iOS与JS交互”。iOS指原生代码(文章只有示例),J...

QiShare
09/01
0
0
iOS WebView和JS的交互

前言 现在web前端发展越来越快,为了追求应用的快速开发和迭代,许多产品都会选择混合开发,在手机端嵌入web页面,那么这就会导致一个问题, 原生代码怎么和js交互?那么下边我们共同学习一下...

小猿_Luck_Boy
05/17
0
0
iOS与JS交互之WKWebView-WKScriptMessageHandler协议

级别:★★☆☆☆ 标签:「iOS与JS交互」「WKWebView与JS交互」「WKJSMessageHandler」 作者: Xs·H 审校: QiShare团队 先解释下标题:“iOS与JS交互”。iOS指原生代码(文章只有示例),J...

QiShare
09/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

帧动画(wifi信号动态动画)

准备六张wifi不同信号强度的素材图片,复制到drawable目录中 在drawable目录中新建frame文件,并编写代码 <animation-list xmlns:android="http://schemas.android.com/apk/res/android"> ...

lanyu96
23分钟前
1
0
快速get到学习Linux操作系统的点

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件、网络协议和应用程序。它支持32位...

问题终结者
31分钟前
1
0
Django2 model操作数据库

1.将应用(如learn)添加到安装应用配置中 将我们新建的应用(learn)添加到 settings.py 中的 INSTALLED_APPS中,告诉Django有这么一个应用。 INSTALLED_APPS = [ 'django.contrib.ad...

MichaelShu
34分钟前
1
0
SpringBoot基础篇Bean之条件注入之注解使用

更多Spring文章,欢迎点击 一灰灰Blog-Spring专题 bean的条件注入,除了前面一篇博文中介绍的通过@Conditional注解配合Condition接口的实现之外,还提供了更多简化的注解使用方式,省略了自己...

小灰灰Blog
45分钟前
1
0
git clone 报错 Clone failed: Authentication failed for

新装了系统,git和phpstorm的配置全都没有了,重新安装了git和phpstorm 系统:windows10 代码托管平台:阿里云code 软件的安装不作赘述。 报错1 Could not read from remote repository 解决...

Marhal
46分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部