• js调用oc方法 UIWebView 跳 到另一个UIWebView


     1 //
     2 //  BusinessListViewController.h
     3 //  LouLiLouWai
     4 //
     5 //  Created by jouhu on 15/7/31.
     6 //  Copyright (c) 2015年 jouhu. All rights reserved.
     7 //
     8 
     9 #import <UIKit/UIKit.h>
    10 
    11 @interface BusinessListViewController : UIViewController
    12 @property (strong, nonatomic) NSString *urlString;
    13 //@property (strong, nonatomic) NSString *titleString;
    14 
    15 @end
      1 //
      2 //  BusinessListViewController.m
      3 //  LouLiLouWai
      4 //
      5 //  Created by jouhu on 15/7/31.
      6 //  Copyright (c) 2015年 jouhu. All rights reserved.
      7 //
      8 
      9 #import "BusinessListViewController.h"
     10 #import "BusinessList2ViewController.h"
     11 #import "MBProgressHUD.h"
     12 
     13 @interface BusinessListViewController ()<UIWebViewDelegate>
     14 @property (weak, nonatomic) IBOutlet UIWebView *webView;
     15 @end
     16 
     17 @implementation BusinessListViewController
     18 
     19 - (void)viewDidLoad {
     20     [super viewDidLoad];
     21     // Do any additional setup after loading the view from its nib.
     22     self.automaticallyAdjustsScrollViewInsets = NO;
     23     self.edgesForExtendedLayout = UIRectEdgeNone;
     24     
     25     UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] init] ;
     26     backBarButtonItem.title = @"" ;
     27     self.navigationItem.backBarButtonItem = backBarButtonItem ;
     28     
     29     self.webView.delegate = self;
     30     
     31     NSURL *url = [NSURL URLWithString:self.urlString];
     32     NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
     33     [self.webView loadRequest:urlRequest];
     34 }
     35 
     36 - (void)viewWillAppear:(BOOL)animated
     37 {
     38     [super viewWillAppear:animated];
     39     
     40 //    self.navigationItem.title = self.titleString;
     41     
     42 //    NSURL *url = [NSURL URLWithString:self.urlString];
     43 //    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
     44 //    [self.webView loadRequest:urlRequest];
     45 }
     46 
     47 //- (void)viewDidDisappear:(BOOL)animated
     48 //{
     49 //    //清除缓存
     50 //    [self.webView loadHTMLString:@" " baseURL:nil];
     51 //}
     52 
     53 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
     54 {
     55     NSString *urlString = [[request URL] absoluteString];
     56     urlString = [urlString stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
     57     NSLog(@"url1String=%@",urlString);
     58     
     59 //    if ([urlString isEqualToString:@"about:blank"]) {
     60 //        return NO;
     61 //    }
     62     
     63     NSArray *urlComps = [urlString componentsSeparatedByString:@"://"];
     64     
     65     if([urlComps count] && [[urlComps objectAtIndex:0] isEqualToString:@"protocol"])
     66     {
     67         NSArray *arrFucnameAndParameter = [(NSString*)[urlComps objectAtIndex:1] componentsSeparatedByString:@";"];
     68         NSString *funcStr = [arrFucnameAndParameter objectAtIndex:0];
     69         
     70         if (1 == [arrFucnameAndParameter count])
     71         {
     72             // 没有参数
     73             if([funcStr isEqualToString:@"doFunc1"])
     74             {
     75                 /*调用本地函数1*/
     76                 NSLog(@"doFunc1");
     77             }
     78         }
     79         else
     80         {
     81             //有参数的
     82             if([funcStr isEqualToString:@"toActivity"])
     83             {
     84                 NSLog(@"doFunc2");
     85                 [self toActivityWithUrl:[arrFucnameAndParameter objectAtIndex:1] title:[arrFucnameAndParameter objectAtIndex:2] share:[arrFucnameAndParameter objectAtIndex:3]];
     86             }
     87         }
     88         return NO;
     89     }
     90     return TRUE;
     91 }
     92 
     93 - (void)webViewDidStartLoad:(UIWebView *)webView
     94 {
     95     [MBProgressHUD showHUDAddedTo:self.view animated:YES];
     96 }
     97 
     98 - (void)webViewDidFinishLoad:(UIWebView *)webView
     99 {
    100     [MBProgressHUD hideAllHUDsForView:self.view animated:YES];
    101 }
    102 
    103 - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
    104 {
    105     if ([error code] != NSURLErrorCancelled){
    106         [MBProgressHUD hideAllHUDsForView:self.view animated:YES];
    107         UIAlertView *alterview = [[UIAlertView alloc] initWithTitle:@"" message:[error localizedDescription]  delegate:nil cancelButtonTitle:nil otherButtonTitles:@"", nil];
    108         [alterview show];
    109     }
    110 }
    111 
    112 - (void)toActivityWithUrl:(NSString *)urlString title:(NSString *)titleString share:(NSString *)shareString
    113 {
    114     BusinessList2ViewController *businessList2ViewController = [[BusinessList2ViewController alloc] initWithNibName:@"BusinessList2ViewController" bundle:[NSBundle mainBundle]];
    115     [businessList2ViewController setHidesBottomBarWhenPushed:YES];
    116     businessList2ViewController.urlString = [NSString stringWithFormat:@"http://%@",urlString];
    117     businessList2ViewController.navigationItem.title = titleString;
    118     businessList2ViewController.shareString = shareString;
    119     [self.navigationController pushViewController:businessList2ViewController animated:YES];
    120 }
    121 
    122 - (void)didReceiveMemoryWarning {
    123     [super didReceiveMemoryWarning];
    124     // Dispose of any resources that can be recreated.
    125 }
    126 
    127 /*
    128 #pragma mark - Navigation
    129 
    130 // In a storyboard-based application, you will often want to do a little preparation before navigation
    131 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    132     // Get the new view controller using [segue destinationViewController].
    133     // Pass the selected object to the new view controller.
    134 }
    135 */
    136 
    137 @end
  • 相关阅读:
    pydev 下Django 1.7 undefined variables from import问题的解决
    前端CDN公共库整理
    BugFix:URL or HTTP headers are too long (IP=127.0.0.1)
    目前最好用的软件下载网站
    mysql数据库优化之表的设计和慢查询定位
    Hadoop-08-Hive本地独立式安装
    AspNetPager真假分页对照实例
    Android从无知到有知——NO.6
    Xpath—解决这个问题的良药
    C# Json反序列化 数据协定类型 无法反序列化 由于未找到必需的数据成员
  • 原文地址:https://www.cnblogs.com/codemakerhj/p/4699800.html
Copyright © 2020-2023  润新知