在iPad上的WKWebView中加载iPhone版本的页面?

时间:2016-11-05 04:49:15

标签: ios wkwebview

我的应用中有一个页面显示if(this.userservice.CheckUsernameNotExist(user.username){ console.log('username exist')} 。它在iPhone上看起来很棒,但在iPad上看起来并不那么好。

在iPad上,页面太大而被切断,因此您必须水平滚动。这看起来并不好,但由于这是在页面视图控制器中,因此效果不佳。我希望一切都适合页面。有没有办法加载iPhone版本的页面,即使在iPad上?或者我可以使用另一种解决方案吗?

WKWebView on iPhone

WKWebView on iPhone

1 个答案:

答案 0 :(得分:0)

要在iPad上加载iPhone版网站,您需要更改网络视图的用户代理。首先,您需要找到适当的用户代理值。从iPhone上访问www.whatismyuseragent.net。之后,更改WKWebView用户代理:

webView.customUserAgent = @"Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A366 Safari/600.1.4";

当然,在现实世界中,您只需要在用户代理中用“iPhone”替换“iPad”的出现。类似的东西:

[webView evaluateJavaScript:@"navigator.userAgent" completionHandler:^(id __nullable userAgent, NSError * __nullable error) {
    webView.customUserAgent = [userAgent stringByReplacingOccurrencesOfString:@"iPad" withString:@"iPhone"];
    // Start actual site loading.
}

显然,您需要在加载实际网页之前执行此操作。