关于JS与OC方法调用传值

OC调JS方法并传值

html示例

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<div style="margin-top: 20px">
<h2>JS与OC交互</h2>
<p>正在跳转...</p>
</div>
<script>
var Callback = function(username,usertel)
{
alert("http://192.168.0.68:8080/hqld/aa_10_10.html?a="+ username +"&b="+ usertel +"");
window.location.href="http://192.168.0.68:8080/hqld/aa_10_10.html?a="+ username +"&b="+ usertel +"";
}
</script>
</body>
</html>

创建UIWebView并load对应的Html
该html源码用于获取oc中的值,并传递到固定的链接中,然后执行自动跳转
使用iOS自带JavaScriptCode框架
关于UIWebView与JS的相互关联

  • JSContext:给JavaScript提供运行的上下文环境
  • JSValue:JavaScript和Objective-C数据和方法的桥梁
#import <JavaScriptCore/JavaScriptCore.h>
- (void)webViewDidFinishLoad:(UIWebView *)webView {

    self.jsContext = [webView      valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

用于捕获错误信息
self.jsContext.exceptionHandler = ^(JSContext *context, JSValue *exceptionValue) {
        context.exception = exceptionValue;
        NSLog(@"异常信息:%@", exceptionValue);
};
     [self call];
}
- (void)call{
    // 之后在回调js的方法Callback把内容传出去
    JSValue *Callback = self.jsContext[@"Callback"];
    //传值给web端
    [Callback callWithArguments:@[@"jh",@"15757166666"]];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 随着H5技术的兴起,在iOS开发过程中,难免会遇到原生应用需要和H5页面交互的问题。其中会涉及方法调用及参数传值等...
    Chris_js阅读 8,301评论 1 8
  • OC与JS交互之JavaScriptCore 本文摘抄自:https://hjgitbook.gitbooks.i...
    大冲哥阅读 4,661评论 0 1
  • 前言 Web 页面中的 JS 与 iOS Native 如何交互是每个 iOS 猿必须掌握的技能。而说到 Nati...
    幽城88阅读 6,655评论 1 8
  • 本文由我们团队的 纠结伦 童鞋撰写。 写在前面 本篇文章是对我一次组内分享的整理,大部分图片都是直接从keynot...
    知识小集阅读 15,344评论 11 172
  • 沧桑阡陌,抒一纸墨香,红尘纷扰,缄默一段伤痛的旧时光。似水年华,恋上的不过是一段旧时光。露冷凋花,帘卷一袭冰凉,几...
    icexu阅读 1,841评论 0 1

友情链接更多精彩内容