某天使兔,要從app打開(kāi)其他網(wǎng)頁(yè)鏈接默色,http://www.tuniu.com/tour/210122757。
發(fā)現(xiàn)壶笼,用safari 打開(kāi)是手機(jī)端神僵,用webView打開(kāi)是電腦版頁(yè)面。一開(kāi)始以為是 user-agent 沒(méi)設(shè)置好覆劈,找到手機(jī)端Safari 的 user-agent 替換掉webView 的保礼。
NSString *userAgent = [_webView stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
NSLog(@"userAgent :%@", userAgent);
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Mozilla/5.0 (iPhone; CPU iPhone OS 9_0_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A452 Safari/601.1", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
[[NSUserDefaults standardUserDefaults] synchronize];
可是出現(xiàn)的還是電腦版的網(wǎng)頁(yè)。
于是向其他iOS 求助责语,發(fā)現(xiàn)炮障,其他iOS 直接用 NSURLRequest 加載URL 出現(xiàn)的就是手機(jī)版。
NSString *str = [_url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:str]];
[_webView loadRequest:request];
一對(duì)比坤候,發(fā)現(xiàn)我把網(wǎng)頁(yè)數(shù)據(jù)緩存了胁赢,就是這一句把手機(jī)版網(wǎng)頁(yè)的鏈接打開(kāi)變成了電腦版的。
NSString *htmlResponseStr = [NSString stringWithContentsOfURL:[NSURL URLWithString:_url] encoding:NSUTF8StringEncoding error:nil];
[_webView loadHTMLString:htmlResponseStr baseURL:[NSURL URLWithString:_url]];