将以前的用户代理设置为webview

时间:2015-12-22 12:15:56

标签: ios objective-c uiwebview

1)我整合了webView&我用一些字符串设置user-agent。当我第一次加载webView时,它会正确设置,但是当Reload通过设置不同的user-agent字符串时它不会设置。它只是设置了之前的user-agent。我尝试清除缓存仍然无法正常工作。

2)我从ViewWillAppear

调用此方法
-(void)viewWillAppear:(BOOL)animated
   {
      [super viewWillAppear:animated];

      [self loadWebView];
   }
-(void)loadWebView
{
   NSURL *webURL = [NSURL URLWithString:@"http://some url"];
     NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:webURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:kTimeoutInterval]; 
   [request setValue:@"some String" forHTTPHeaderField:@"user-agent"];
   webView.delegate = self;
   [webView loadRequest:request];
}

1 个答案:

答案 0 :(得分:0)

经过长时间的努力,我解决了这个问题如下

  • 我观察到,如果您使用webView加载user-agent中的任何网址 设置它。一段时间后,您加载different url& different user agent但使用了相同的已分配WebView实例.Web视图将加载新的URL但无法设置新的用户代理。它只是在第一次加载之前设置了你设置的旧版本。

  • 您无法更改,直到您发起UIWebview的新实例(或者我们可以说每个会话可以设置一次用户代理)。

  • 我为这个问题做了什么,我在分配新实例的时候 想要设置新的user agent