iOS开发之UIWebView那些事

本文介绍如何使用UIWebView发送带参数的POST请求,并演示了如何加载HTML字符串到UIWebView中,同时还提供了获取WebView中HTML源代码及网页标题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


UIWebView裹挟参数请求


我们在实际开发中,总面临着这些那些的需求,比如让UIWebView裹挟参数进行请求显示。

 CGRect rect = [[UIScreen mainScreen] bounds];

    CGSize size = rect.size;

    CGFloat width = size.width;

    CGFloat height = size.height;

    NSMutableString *strTemp = [[NSMutableString alloc]init];

    NSUserDefaults *userDefaultes = [NSUserDefaults standardUserDefaults];

    

    [strTemp appendString:@"http://………………………………"];


    webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 60, width, height)];

#warning warning

#pragma mark - 携带POSTWebView请求

    NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL:[NSURL URLWithString:strTemp]];

    request.HTTPMethod = @"POST";

    NSString *dataStr = [NSString stringWithFormat:@"login_name=%@&money=%@&id=%@",[userDefaultes stringForKey:@"account"],self.chongZhiMoney.text , [BankCardListInformation sharedInstance].selectedItem[@"id"]];

    

    request.HTTPBody = [dataStr dataUsingEncoding:NSUTF8StringEncoding];

    

    [self.view addSubview: webView];

    [webView loadRequest:request];



加载HTML字符串页面数据


还有些时候,我们需要将请求下来的html页面通过WebView进行加载

首先获得返回的html字符串数据

然后将字符串数据进行处理,返回一个字符串responseHtml


WebData *wd = [WebData shareInstance];

wd.URLString = [self URLDecodedString:responseHtml];



#pragma mark urldecode

-(NSString *)URLDecodedString:(NSString *)str

{

    

    NSString *content = [str stringByReplacingOccurrencesOfString:@"+" withString:@" "];

    

    NSString *decodedString=(__bridge_transfer NSString *)CFURLCreateStringByReplacingPercentEscapesUsingEncoding(NULL, (__bridge CFStringRef)content, CFSTR(""), CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding));

    

    return decodedString;

}


最后通过WebView加载

[_webView loadHTMLString:wd.URLString baseURL:nil];



通过WebView获得加载的html源代码

NSString *jsToGetHTMLSource = @"document.documentElement.innerHTML";

    

    NSString *HTMLSource = [self.webView stringByEvaluatingJavaScriptFromString:jsToGetHTMLSource];

    

    NSLog(@"%@",HTMLSource);




获取网页的Title

NSString *jsTitle = @"document.title";

    

    NSString *HTMLTitle = [self.webView stringByEvaluatingJavaScriptFromString:jsTitle];

    

    NSLog(@"%@",HTMLTitle);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值