美文网首页
OC和JS的交互那点事

OC和JS的交互那点事

作者: 有思想的火柴 | 来源:发表于2016-07-20 11:20 被阅读54次

1、OC调用JS代码

在代理方法webViewDidFinishLoad:方法中调用JS代码

NSMutableString *js = [NSMutableString string];
[js appendString:@"var footer = document.getElementsByTagName('footer')[0];"];
[js appendString:@"footer.parentNode.removeChild(footer);"];
[webView stringByEvaluatingJavaScriptFromString:js];

2、JS调用OC代码

在代理方法
-(BOOL)webView: shouldStartLoadWithRequest: navigationType: 中 可拦截从html页面的请求

  • 首先在html中自定义方法,例如:
    function call(){
    window.location.href = 'YH://call'
    }
  • 在上述webView代理方法中将此链接拦截
    NSString *url = request.URL.absoluteString;
    NSRange range = [url rangeOfString:@"YH://"];
    NSUInteger loc = range.location;
    if (loc != NSNotFound){
    NSString *method = [url subStringFromIndex:loc + range.length];//取得方法名
    SEL sel = NSSelectFromString(method);//转成SEL
    [self performSelector:sel withObject:nil];
    }

这时候就会调用系统的call这个方法

- (void)call {
//将要实现的OC方法写在这里
}

3、WebViewJavascriptBridge

关于OC和JS的交互有个第三方库,貌似很好用给出个链接有兴趣的可以点击去<a href = 'http://www.jianshu.com/p/feec40aff59a'>这里</a>看看

相关文章

  • OC和JS的交互那点事

    1、OC调用JS代码 在代理方法webViewDidFinishLoad:方法中调用JS代码 2、JS调用OC代码...

  • OC与JS交互

    OC与JS交互前言 OC与JS交互之UIWebView OC与JS交互之WebViewJavascriptBrid...

  • OC和JS交互(UIWebView)中级篇2

    上回书说 OC和JS交互的一些准备工作, 下面开始OC和JS交互的重头戏->JS调用OC. 这里我们会用到Safa...

  • OC和JS交互、JS和OC交互

    现在做开发 很多会出现交互问题 我在公司项目中也会用到交互 下面我大致写下 交互的代码 - (void)loadW...

  • iOS 的JS 和 OC 交互(二)

    iOS 的JS 和 OC 交互(一) 好吧 今天继续再来搞搞 这个 交互的问题 OC 怎样可以拦截到 JS 的调...

  • WKWebView和WebView与JS的交互方式

    WKWebView和WebView与JS的交互方式 UIWebView与JS的交互方式 一、 OC调用JS 直接调...

  • ios 开发OC 和 JS 交互

    ios 开发OC 和 JS 交互 最近遇到了关于 oc 和 js 交互的功能, 记录一下就当是是做了笔记的 开发环...

  • iOS 中的JS交互

    在iOS的webview开发中,都会用到和HTML交互。一般JS的交互一般有几种: OC调用JS JS调用OC 动...

  • oc 与js 的原生交互

    参考 总评: oc 与js的交互,1.有原生的方式,oc 调js简单,js调oc 麻烦(协议拦截"实现的交互方式)...

  • 浅谈oc与js交互(二 UIWebView中 js调用oc)

    上篇文章讲过,oc和js交互,oc调用js关键的方法是- (nullable NSString *)stringB...

网友评论

      本文标题:OC和JS的交互那点事

      本文链接:https://www.haomeiwen.com/subject/taicdttx.html