zoukankan      html  css  js  c++  java
  • ios中webview的高级用法

    转自:http://www.cnblogs.com/gcb999/p/3178728.html

    复制代码
    #import "MJViewController.h"
    #import "MBProgressHUD+Add.h"
    
    @interface MJViewController ()
    
    @end
    
    @implementation MJViewController
    
    - (void)viewDidLoad
    {
        [super viewDidLoad];
        
        [self loadRemoteHTML];
    }
    
    #pragma mark 加载远程的HTML页面
    - (void)loadRemoteHTML {
        NSURL *url = [NSURL URLWithString:@"http://192.168.1.106:8080/MJServer/"];
        
        self.webView.delegate = self;
        [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
    }
    
    #pragma mark 加载其他文件
    - (void)loadRemoteTxt {
        NSURL *url = [NSURL URLWithString:@"http://192.168.1.106:8080/MJServer/abc.txt"];
        
        self.webView.delegate = self;
        [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
    }
    
    #pragma mark 加载PDF文件
    - (void)loadLocalPDF {
        //[self.webView loadData:<#(NSData *)#> MIMEType:<#(NSString *)#> textEncodingName:<#(NSString *)#> baseURL:<#(NSURL *)#>];
        
        NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/第10章-网络.pdf"];
        
        self.webView.delegate = self;
        [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
    }
    
    #pragma mark 加载HTML字符串
    - (void)loadHTMLString {
        NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Pictures"];
        [self.webView loadHTMLString:@"<html><body><img src='lufy.png'></body></html>" baseURL:url];
    }
    
    #pragma mark - webview代理方法
    - (void)webViewDidStartLoad:(UIWebView *)webView {
        NSLog(@"开始加载页面");
        [MBProgressHUD showMessag:@"哥正在帮你加载..." toView:self.view];
    }
    
    - (void)webViewDidFinishLoad:(UIWebView *)webView {
        NSLog(@"页面加载完毕");
        [MBProgressHUD hideHUDForView:self.view animated:YES];
        
        self.backItem.enabled = self.webView.canGoBack;
        self.forawrdItem.enabled = self.webView.canGoForward;
        
        self.titleItem.title = [self.webView stringByEvaluatingJavaScriptFromString:@"document.title"];
        
        //[self.webView stringByEvaluatingJavaScriptFromString:@"fn();"];
    }
    #pragma mark webview每次加载之前都会调用这个方法
    // 如果返回NO,代表不允许加载这个请求
    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
        // 说明协议头是ios
        if ([@"ios" isEqualToString:request.URL.scheme]) {
            NSString *url = request.URL.absoluteString;
            NSRange range = [url rangeOfString:@":"];
            NSString *method = [request.URL.absoluteString substringFromIndex:range.location + 1];
            
            SEL selector = NSSelectorFromString(method);
            
            if ([self respondsToSelector:selector]) {
                [self performSelector:selector];
            }
            
            return NO;
        }
        
        return YES;
    }
    
    #pragma mark - 提供一个接口方法给JS调用
    - (void)openCamera {
        NSLog(@"打开了照相机");
    }
    
    - (void)call {
        NSLog(@"打电话");
    }
    
    #pragma mark - 按钮方法
    #pragma mark 前进
    - (void)forawrd {
        [self.webView goForward];
    }
    #pragma mark 后退
    - (void)back {
        [self.webView goBack];
    }
    @end
    复制代码

    服务端的用法

     
  • 相关阅读:
    FusionCharts的类
    FusionCharts图表控件中文版使用手册
    java Integer
    java --final关键字
    HTTP缓存机制及原理
    java颜色代码对照表
    centos svn 服务器间的数据迁移
    tp3.2 URL_MODEL为2 配置
    order by group by
    jpgraph 折线图--解决中文乱码的问题(标题和图例)
  • 原文地址:https://www.cnblogs.com/feiyu-mdm/p/5568604.html
Copyright © 2011-2022 走看看