phoneGap OC给JS传值方法

参考链接:http://www.yelanxiaoyu.com/app/phonegap开发/phonegap-ios开发-oc调用js传递参数并获得返回值.html

iOS:

在要传值页面(比如城市列表)中实现如下方法:

- (void)viewWillDisappear:(BOOL)animated

{

[super viewWillDisappear:animated];

//通知名仅供测试,根据项目修改

[[NSNotificationCenter defaultCenter] postNotificationName:@"post2JS" object:nil];

}

在MainViewController.m的viewDidLoad方法中增加:

//给js传值测试

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(post2JS) name:@"post2JS" object:nil];

并实现:

- (void)post2JS

{

//使用alert注意此处最好延迟执行,否则可能程序卡死,未测试非延迟情况下传值问题,延迟执行成功

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 *
NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

//        [self.webView stringByEvaluatingJavaScriptFromString:@"alert(‘hello‘)"];

[self.webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"postStr(‘%@‘);",@“要传递的值"]];

});

}

JS:

在需要接受参数值的js界面实现如下方法:

function postStr(str1){

alert(str1);    //接收到的值”;

//...code

}

时间: 2024-08-09 08:43:17

phoneGap OC给JS传值方法的相关文章

ios中OC给js传值的方法

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c81b13 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000; min-height: 21.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #000000 }

OC 和 js 交互

首先导入 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #d12f1b } span.s1 { color: #78492a } span.s2 { } #import <JavaScriptCore/JavaScriptCore.h> 声明 对象 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #bb2ca2 } spa

OC与JS交互之WebViewJavascriptBridge

上一篇文章介绍了通过UIWebView实现了OC与JS交互的可能性及实现的原理,并且简单的实现了一个小的示例DEMO,当然也有一部分遗留问题,使用原生实现过程比较繁琐,代码难以维护.这篇文章主要介绍下开源库WebViewJavascriptBridge的实现原理和使用方法,并用此开源库重写之前的示例,同样,本文的示例代码我会在文章后面给出欢迎star 我们在上一篇文章结尾处简要介绍了WebViewJavascriptBridge的实现原理也是基于UIWebView的协议拦截,通过阅读源码发现,中

cordova ios ---&gt;OC 调用 js (一)

1.在HTML中定义一个函数如OCcallJS() function OCcallJS(){ alert("OC 调用js 的 方法"); } 2.当webview 加载完成的时候,oc 调用js 函数 通过webview的一个方法: stringByEvaluatingJavaScriptFromString /** Called when the webview finishes loading. This stops the activity view. */ - (void)w

OC与JS的交互(iOS与H5混编)

在开发过程中,经常会出现需要iOS移动端与H5混编的使用场景. iOS中加载html网页, 可以使用UIWebView或WKWebView. 本篇博客将介绍两种控件使用过程中如何实现OC与JS的交互. UIWebView delegate 协议方法 //网页即将开始加载 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewN

Mac Webview OC与JS交互实现

1.首先,需要定义一个JS可识别的变量(如external)用于OC与JS交互 - (void)webView:(WebView *)sender didClearWindowObject:(WebScriptObject *)windowObject forFrame:(WebFrame *)frame { [self.windowScriptObject setValue:self forKey:@"external"]; } 2.JS调用OC代码 第一步.在OC中声明对JS开放的

关于混合开发,oc与js互相通信的方法总结:

最近做公司的几个项目,主要以为h5为主,不能实现的功能用oc来写,这样就经常牵扯到oc调用js,或者js调用oc.先插嘴一句,对于目前而言,我对H5包装下的app的用户体验是极其的不满,真的没法和原生比较.对注重用户体验的公司还是比较倾向与混合开发. 根据个人长期摸索,和开发踩过的坑,在这稍微总结一下下..网上有的基本都很零散,对于开发在使用还需要具体根据项目情况来使用. oc与js互相调用目前我知道的时主要有4种直接的方式: 1. 苹果的javascriptcore.framework框架;

实现OC与JS的交互

oc-->js  stringByEvaluatingJavaScriptFromString,其参数是一NSString 字符串内容是js代码(这又可以是一个js函数.一句js代码或他们的组合),当js函数有返回值或一句js代码有值返回可通过stringByEvaluatingJavaScriptFromString的返回值获取. js-->oc 利用webView的重定向原理(即重新在js中指定document.location的值,此为一url),只要在这个url字符串中按自定义的规则指

oc与js交互-----WKWebView

这些天研究了一些oc与js交互的问题,纯属个人理解 oc与js交互是跨平台iOS与javaScript的通信.公司为了开发节约成本,本来安卓,与iOS两个版本的app开发,利用js通过webView的加载只需要做一些交互工作就使得javaScript书写的页面可以同时在安卓与iOS上使用可谓一举两得. WKWebView里边的方法 1.OC中调用js方法(我认为是oc向js中传值) 使用的是 <span style="background-color: rgb(255, 255, 255)