gpt4 book ai didi

ios - UIWebView 未使用 loadRequest 加载网站的移动版本

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:54:21 25 4
gpt4 key购买 nike

我正在尝试使用 UIWebView 在我的应用程序中嵌入网站的移动版本。但是,当我执行以下操作时:

NSURL *url = [NSURL URLWithString:webLink];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[self.webView loadRequest:request];

网站的完整版本已加载。然后,当我单击此页面中的任何链接时,它将处理该网站的移动版本(正如我从一开始就希望的那样)。

我试过弄乱用户代理,但没有成功。我不认为它正在查看用户代理来确定是否加载页面的移动版本,因为我将我的 Firefox 用户代理设置为 iPhone,它仍然继续加载完整版本。

如果有帮助的话,我要加载的网站是一个留言板,使用 IP Board 3.1.4。我尝试在网上查看它如何确定是否显示移动版本,但没有成功。

最佳答案

我今天找到了解决问题的方法。

我在 IP Board 支持论坛上发布了我的问题,得到回复说 IP Board 检查用户代理中的“iPhone”或“mobileApp”cookie。由于乱用用户代理对我不起作用,所以我采用了后一种方法。

我将此代码放入我的 appdelegate 中的 applicationDidBecomeActive 方法中:

[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];

NSMutableDictionary *cookieProperties = [NSMutableDictionary dictionary];
[cookieProperties setObject:@"mobileApp" forKey:NSHTTPCookieName];
[cookieProperties setObject:@"1" forKey:NSHTTPCookieValue];
[cookieProperties setObject:@"www.example.com" forKey:NSHTTPCookieDomain];
[cookieProperties setObject:@"www.example.com" forKey:NSHTTPCookieOriginURL];
[cookieProperties setObject:@"/" forKey:NSHTTPCookiePath];
[cookieProperties setObject:@"0" forKey:NSHTTPCookieVersion];

NSHTTPCookie *cookie = [NSHTTPCookie cookieWithProperties:cookieProperties];
[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookie:cookie];

PS:我在另一个关于 cookie 的 stackoverflow 问题中找到了这个 cookie 解决方案。

关于ios - UIWebView 未使用 loadRequest 加载网站的移动版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8542038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com