我想知道从特定应用程序的网络视图加载网页内容时是否可以调整网页内容。
我正在考虑媒体查询,但是:当页面加载到移动浏览器或应用程序的 Web 视图中时,我希望有不同的 Web 设计。
我可以做些什么来区分它们,还是应该更改 webview 的用户代理并以这种方式区分内容?
我想知道从特定应用程序的网络视图加载网页内容时是否可以调整网页内容。
我正在考虑媒体查询,但是:当页面加载到移动浏览器或应用程序的 Web 视图中时,我希望有不同的 Web 设计。
我可以做些什么来区分它们,还是应该更改 webview 的用户代理并以这种方式区分内容?
这个SO Question为您解答:
从 UIWebView 发出的 Web 请求不会在用户代理字符串中包含单词“Safari”。从 Mobile Safari 发出的 Web 请求会。这是我发现的确定请求来自应用程序内部还是来自 Mobile Safari 的最佳方式。
示例用户代理来自
UIWebView within app: User-Agent: Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile
来自 Mobile Safari 的示例用户代理:
User-Agent: Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari
您不能从 UIWebview 使网页响应,只有一种方法是使用媒体查询来制作响应式网站。您无法从本机应用程序更改。