iOS - UIWebview - 3G 上的评论被剥离
Posted
技术标签:
【中文标题】iOS - UIWebview - 3G 上的评论被剥离【英文标题】:iOS - UIWebview - Comments stripped over 3G 【发布时间】:2011-09-10 03:47:24 【问题描述】:我正在请求包含 cmets 的 UIWebView 中的网页(它们是不可或缺的,因为它们包含 UIWebView 用来调整设置的隐藏信息)。
通过 Wifi 可以正常工作,但是通过 3G 从 UIWebView(使用 javascript)查询源返回的输出中删除了所有空白和 cmets。
我的第一直觉是服务器在应用压缩,但客户端拒绝了,ios 中是否有设置请求这个,或者 3G 网络运营商(在这种情况下为 O2 - UK)正在剥离内容.
有人看到这个,或者知道解决方案吗?
非常感谢!
【问题讨论】:
【参考方案1】:确实是 ISP 剥离了 cmets ......我解决这个问题的方法是让客户端在页面内设置 JS 函数,返回最初隐藏在 cmets 中的响应(无论如何,这是一个更清洁的解决方案)。
然后检索信息:
[webView stringByEvaluatingJavaScriptFromString:@"functionName();"];
【讨论】:
【参考方案2】:您总是可以在 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
然后您可以在浏览器中查看源代码。
【讨论】:
【参考方案3】:ISP 正在查看标头并删除 cmets 和空格以节省带宽。您可以使用自己的属性将此数据嵌入到标记标签中。例如:
<div myDataAttr='id_123'>
...
</div>
编辑
您也可以考虑使用HTML 5 custom data attributes。
<div data-id='123' data-name='John'>
...
</div>
【讨论】:
以上是关于iOS - UIWebview - 3G 上的评论被剥离的主要内容,如果未能解决你的问题,请参考以下文章
UIWebView 中的 Facebook 身份验证不会重定向回我网站上要求身份验证的原始页面
iOS“默认”UIWebView/WebKit 上的 WebAudio 支持