我正在请求包含评论的 UIWebView 中的网页(这些评论是不可或缺的,因为它们包含 UIWebView 用于调整设置的隐藏信息)。
通过 Wifi 可以正常工作,但是通过 3G 从 UIWebView(使用 Javascript)查询源返回的输出中删除了所有空白和注释。
我的第一直觉是,它是服务器应用压缩,但客户端拒绝同样多,iOS 中是否存在请求这个的设置,或者 3G 网络运营商(在这种情况下为 O2 - UK)正在剥离内容。
有人看到这个,或者知道解决方案吗?
提前谢谢了!
我正在请求包含评论的 UIWebView 中的网页(这些评论是不可或缺的,因为它们包含 UIWebView 用于调整设置的隐藏信息)。
通过 Wifi 可以正常工作,但是通过 3G 从 UIWebView(使用 Javascript)查询源返回的输出中删除了所有空白和注释。
我的第一直觉是,它是服务器应用压缩,但客户端拒绝同样多,iOS 中是否存在请求这个的设置,或者 3G 网络运营商(在这种情况下为 O2 - UK)正在剥离内容。
有人看到这个,或者知道解决方案吗?
提前谢谢了!
确实是 ISP 删除了评论……我解决这个问题的方法是让客户端在页面内设置 JS 函数,返回最初隐藏在评论中的响应(无论如何,这是一个更干净的解决方案)。
然后检索信息:
[webView stringByEvaluatingJavaScriptFromString:@"functionName();"];
您总是可以在 Firefox 中使用系留笔记本电脑进行测试,并将您的用户代理设置为 UIWebView 将发送的内容,例如:
Mozilla/5.0 (iPhone; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile
然后你可以在浏览器中查看源代码。
ISP 正在查看标头并删除注释和空格以节省带宽。您可以使用您自己的属性将此数据嵌入到您的标记标签中。例如:
<div myDataAttr='id_123'>
...
</div>
编辑
您还可以考虑使用HTML 5 自定义数据属性。
<div data-id='123' data-name='John'>
...
</div>