• iOS


    https://www.cnblogs.com/huaixu/p/5570100.html

    https://www.cnblogs.com/qiyiyifan/p/12077700.html

    1、webview去除原网址的广告或者标题

    js语句

    document.documentElement.getElementsByClassName('这里写你要消除的空间的class里面的字符串')[0].style.display = 'none'

    具体用法:

    - (void)webViewDidFinishLoad:(UIWebView *)webView{

    [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.getElementsByClassName('adpic')[0].style.display = 'none'"];

    }

    2. 获得UIWebView的标题

    - (void)webViewDidFinishLoad:(UIWebView *)webView{

    NSString *theTitle=[webView stringByEvaluatingJavaScriptFromString:@"document.title"];

    }

    3. 获取页面的URL

    - (void)webViewDidFinishLoad:(UIWebView *)webView{

    NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"];

    }

    4. 修改页面元素的值

    - (void)webViewDidFinishLoad:(UIWebView *)webView{

    NSString *js_result = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('q')[0].value='朱祁林';"];

    }

    5. 表单提交

    - (void)webViewDidFinishLoad:(UIWebView *)webView{

    NSString *js_result2 = [webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].submit(); "]
    }
     
     
     

    一、前言

      这个星期面临一个网页的需求,需要用到这方面的知识,很久没看过这方面的代码了,记录下吧。

      wkwebview的创建和使用就不再提及了,直接看与JS之间的交互吧。

    二、内容

      1、JS调用OC

    window.webkit.messageHandlers.<#对象名#>.postMessage(<#参数#>)

      

    //进行配置控制器
    WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
    //实例化对象
    configuration.userContentController = [WKUserContentController new];
    //调用JS方法
    [configuration.userContentController addScriptMessageHandler:self name:@"actionEnd"];
    复制代码
    #pragma mark - WKScriptMessageHandler
    
    - (void)userContentController:(WKUserContentController *)userContentController didReceiveScriptMessage:(WKScriptMessage *)message {
        if ([message.name isEqualToString:@"actionEnd"]) {
            NSDictionary *jsData = message.body;
            NSLog(@"%@", message.name, jsData);
        }
    }
    复制代码

      注:对象名要和前端沟通好。前端JS能回传的类型只能是 NSNumber, NSString, NSDate, NSArray, NSDictionary, NSNull。

      2、OC调用JS

    // 调用API方法
    [self.weexWebView evaluateJavaScript:@“JS” completionHandler:^(id object, NSError * _Nullable error) {
        NSLog(@"obj:%@---error:%@", object, error);
    }];
  • 相关阅读:
    oracle nvl,to_char 函数(二)
    GridView的使用技巧
    asp.net应用程序性能的提高方案
    浅谈 ViewState
    最为关心的问题,hbase查询一条数据的过程.
    HBase的弊端。
    拙建:(mapreduce 如何来分步统计词频)
    终于找到hbase分布式存储数据的方式.
    迷局一般的openjdk6jdk!
    IT事业不好走,大家在虚拟的世界,记得回到真实的世界,不然你将会成为下一个张孝祥.
  • 原文地址:https://www.cnblogs.com/itlover2013/p/13751789.html
Copyright © 2020-2023  润新知