iOS中OC响应JS调用随记一
来源:互联网 发布:阿里云备案拍照点分布 编辑:程序博客网 时间:2024/06/09 05:41
iOS中OC响应JS调用随记一
最近做项目接触到了H5中点击需要让viewcontroller进行跳转.这是第一次接触js和OC的交互,所以写下笔记记录下(菜鸟笔记,高手勿喷>..<)
- html中定义Button和点击事件
<button id="hallo" onclick="buttonClick()"> 点击button</button>
- javascript中对事件定义
function buttonClick()
{
var u = navigator.userAgent, app = navigator.appVersion;
var isAndroid = u.indexOf(‘Android’) > -1 || u.indexOf(‘Linux’) > -1; //android终端或者uc浏览器
var isIOS = !!u.match(/(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isAndroid) {
window.object.back();
} else if(isIOS) {
iback();// iOS确定的iback方法
}
} - OC中定义js要调用的方法
在viewcontroller中
@property (weak, nonatomic) IBOutlet UIWebView *webview;// UIWebView- (void)viewDidLoad { [super viewDidLoad]; _webview.backgroundColor=[UIColor lightGrayColor]; NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"]; NSURL *localUrl = [[NSURL alloc] initFileURLWithPath:htmlPath]; [_webview loadRequest:[NSURLRequest requestWithURL:localUrl]]; // 重点 JSContext *context = [_webview valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; context[@"iback"] = ^() { // 直接响应 };}
- 遇到的一些坑和解决方法
在调h5进行一些页面操作后 一直有Error Domain=NSURLErrorDomain Code=-999这个错误 导致h5中Button不响应点击事件 也就不能调用OC进行响应了 这里询问后台确认这个页面的url固定 所以通过判断url为要点击的页面后 在webview上加了一个空白的Button盖住h5上的按钮 直接在OC的按钮事件中进行响应 - 后续添加截取url方式响应方式
0 0
- iOS中OC响应JS调用随记一
- iOS中OC调用js方法简述(一)
- IOS中OC与JS互相调用
- iOS-JS调用OC
- iOS中JS与原生OC互相调用之问题总结一
- OC中调用JS
- iOS js oc相互调用(JavaScriptCore) (一)
- ios--js调用oc(实例)
- iOS js调用oc方法
- IOS WebView中JS和OC相互调用
- iOS中,JS于OC的相互调用
- iOS UIWebView中JS和OC互相调用
- iOS中JS与原生OC互相调用之JavaScriptCore
- iOS开发中oc代码响应js网页点击事件的方法
- 【iOS】OC与JS交互 网页中调用JS与JS注入
- iOS让js调用oc函数
- iOS js oc相互调用(JavaScriptCore)
- iOS js oc相互调用(JavaScriptCore)
- linux 下svn 重定向
- [FAQ10314]MTBF测试的注意事项
- 先验概率与后验概率的区别
- LintCode(M) 复制带随机指针的复杂链表
- 解决双卡4G模式下不能接听和拨打电话问题
- iOS中OC响应JS调用随记一
- android 控件样式 ( style="@style/xxxxx" )
- 在宿主机查看docker使用cpu、内存、网络、io情况
- ElasticSearch5.0.2配置head
- css | 实现有趣的多边形
- [Mapbox GL]添加GeoJSON线
- Android五大布局详解
- mysql视图
- Android软键盘弹出时,会把原来的界面挤上去