WebView补充

来源:互联网 发布:php webshell 提权 编辑:程序博客网 时间:2024/06/05 07:50

接着上一篇博文
发一个WebView的Demo
内容都非常清楚
请求网络数据
并且实现网页自动跳转

import “ViewController.h”

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
@property (weak, nonatomic) IBOutlet UIWebView *webView;

@end

@implementation ViewController

  • (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    // 设置UIWebView的委托
    self.webView.delegate = self;

    // 加载一个URL请求
    NSURL * baiduURL = [NSURL URLWithString:@”http://www.baidu.com“];
    NSURLRequest * request = [NSURLRequest requestWithURL:baiduURL];
    [self.webView loadRequest:request];
    }

  • (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
    }

pragma mark - UIWebViewDelegate

// UIWebView开始加载网页
- (void)webViewDidStartLoad:(UIWebView *)webView
{
NSLog(@”开始加载”);
}

// 加载完成
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@”加载完成”);
// 通过UIWebView执行JavaScript代码获取标题
NSString * title = [self.webView stringByEvaluatingJavaScriptFromString:@”document.title”];
self.titleLabel.text = title;
// 实现百度中自动搜索
// 1. 填充文本输入框的内容
[self.webView stringByEvaluatingJavaScriptFromString:@”document.getElementById(‘index-kw’).value = ‘CBA’;”];
// 2. 模拟点击按钮
[self.webView stringByEvaluatingJavaScriptFromString:@”document.getElementById(‘index-bn’).click();”];
}

/**
* UIWebView询问是否可以加载某个请求
*
* @param webView
* @param request 请求
* @param navigationType 导航类型
*
* @return YES表示可以跳转,NO表示不可以
*/
- (BOOL)webView:(UIWebView )webView shouldStartLoadWithRequest:(NSURLRequest )request navigationType:(UIWebViewNavigationType)navigationType
{
NSString * requestURL = request.URL.absoluteString;
NSLog(@”request url = %@”, requestURL);
if ([requestURL containsString:@”baidu.com”]) {
return YES;
}
return NO;
}

@end

0 0