• webView


       一个小的浏览器。。。。。。。。。有后退,前进,刷新,停止,转到,本地,调js

    1 _webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 40, self.view.frame.size.width, self.view.frame.size.height-40)];
    2     _webView.delegate = self;
    3     [self.view addSubview:_webView];

    设置几个按钮,添加点击事件,设tag值0~6

    后退:[_webView goBack];

    前进:[_webView goForward];

    刷新:[_webView reload];

    停止:[_webView stopLoading];

    转到:①首先判断前缀是否有http

             if(![_urlField.text hasPrefix:@"http"]){

                     _urlField.text = [NSString stringWithFormat:@"http://%@",_urlField.text];

              }

             ②发送请求,就会直接转到相应的网站中

              NSURL *url = [NSURL URLWithString:_urlField.text];

              NSURLRequest *request = [NSURLRequest requestWithURL:url];

              [_webView loadRequest:request];

    本地:对于本地的html,首先得找到它的路径,将其变成字符串

             NSString *path = [[NSBundle mainBundle] pahtForResource:@"xml2" ofType:@"html"];

             //html字符串

             NSString *htmlStr = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

             [_webView loadHTMLString:htmlStr baseURL:nil];

    调js:oc调js,已经有封装好的方法了,可以直接用

             [_webView stringByEvaluatingJavaScriptFromString:@"func()"];

    每次刷新的时候,_textField中的网址没有显示,需要一个方法来让其刷新地址栏

     1  (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
     2 {
     3     //请求的地址,刷新地址栏
     4     _urlField.text = request.URL.absoluteString;
     5     //分割字符串
     6     NSArray *array = [_urlField.text componentsSeparatedByString:@"://"];
     7     if([array[0] isEqualToString:@"oc"]){
     8         //获取到javaScript想调用的方法名称
     9         SEL  sel = NSSelectorFromString(array[1]);
    10         [self performSelector:sel];
    11     }
    12     return YES;
    13 }
    14 
    15 - (void)ocFunc
    16 {
    17     NSLog(@"OC........");
    18 }
  • 相关阅读:
    事件处理之跨浏览器
    IE事件处理
    DOM0级事件处理、DOM2级事件处理
    JS内置对象学习总结
    JS事件响应的学习总结
    vuex的学习例子
    npm run build 打包后,如何运行在本地查看效果(Apache服务)
    Vue.js 引入外部js方法
    Table展开行
    正则表达式test()和exec()、 search() 和 replace()用法实例
  • 原文地址:https://www.cnblogs.com/Angelone/p/4384174.html
Copyright © 2020-2023  润新知