zoukankan      html  css  js  c++  java
  • 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);
    }];
  • 相关阅读:
    线程池示例(摘抄)
    Visual Studio 相关
    Linq 内连接和外连接(转载)
    asp.net mvc4 简单使用Autofac依赖注入小结
    jquery加载解析XML文件
    权限验证AuthorizeAttribute
    常用SQL Server规范集锦及优化
    linq to datatable 和lambda查询datatable
    ASP.NET 大文件下载的实现思路及代码
    分页存储过程
  • 原文地址:https://www.cnblogs.com/itlover2013/p/13751789.html
Copyright © 2011-2022 走看看