您的位置:首页 > Web前端 > JavaScript

web与js的简单交互

2016-04-27 09:38 369 查看
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 64, self.view.frame.size.width,self.view.frame.size.height)];

UIButton *back = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.width / 7.5)];
[back setBackgroundColor: [UIColor orangeColor]];
[back setTitle:@"back" forState:UIControlStateNormal];
[back addTarget:self action: @selector(back) forControlEvents:UIControlEventTouchUpInside];

//以必应为例

[web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.bing.com/?FORM=Z9FD1"]]];
web.delegate = self;
web.scalesPageToFit = YES;
web.scrollView.delegate = self;
self.web = web;
[self.view addSubview:web];
[self.view addSubview:back];

}

#pragma mark ---Delegate

-(void) webViewDidStartLoad:(UIWebView *)webView{

NSLog(@"开始加载---") ;

}

- (void) webViewDidFinishLoad:(UIWebView *)webView {

NSLog(@"加载完成---");

//获取当前页面的title

NSString *title =[webView stringByEvaluatingJavaScriptFromString:@"document.title"];

NSLog(@"title====%@",title);

//获取当前URL

NSString *URL =[webView stringByEvaluatingJavaScriptFromString: @"document.location.href"];

NSLog(@"URL===%@",URL);

//得到网页代码

NSString *html = [webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.innerHTML" ];

NSLog(@"html====%@",html);

//拼接字符串 根据网页name找到控价并赋值

NSString *str = @"日番谷冬狮郎";

NSString *JSStr = [NSString stringWithFormat: @"document.getElementsByName('q')[0].value = ('%@');",str];
[webView stringByEvaluatingJavaScriptFromString:JSStr];
//document.getElementsByName('q')[0] 页面中叫q的控件数组 取第一个
}

- (void) webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {

NSLog(@"加载失败===%@",error);

}

//当网页位置为顶部 不允许继续下拉

- (void) scrollViewDidScroll:

(UIScrollView *)scrollView {

if (self.web.frame.origin.y == 0) {

self.web.scrollView.bounces = NO;

return;

}

}

//webView的每次页面跳转都会执行,在这里可以得到想要的数据

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

NSLog(@"页面跳转");

return YES;

}

//返回

- (void) back {

[self.web goBack];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: