从移动网站解析苹果触摸图标
Parse apple-touch-icon from mobile websites
对于给定的url(如www.example.com),我想通过例如在dom中搜索以下属性来提取apple touch图标:
<link rel="apple-touch-icon" href="touch-icon-iphone.png">
问题是example.com没有在普通网站上提供这个标签,只是在移动的m.example.com网站上提供。我认为他们使用服务器端设备检测,只在移动设备上添加这个标签。你知道我如何在这样的网站上获得这些图标吗?
如果example.com
有一个m.example.com
移动版本,他们很可能使用用户代理嗅探重定向手机用户。
网站的服务器基本上会查看请求的User-Agent
HTTP标头,并将其与一组值进行匹配,以检测移动浏览器。以下是如何在Apache中实现的示例:
RewriteCond %{HTTP_HOST} ^(www'.)?example'.com$ [NC]
RewriteCond %{HTTP_USER_AGENT} (.*)iPhone(.*) [NC,OR]
RewriteRule ^ http://m.example.com [L,QSA]
好消息是,您可以通过自己设置标头来欺骗服务器为您提供m.example.com
。这里有一个卷曲的例子:
curl facebook.com
curl facebook.com -L -A "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5"
第一个将检索facebook.com的HTML,第二个将用户代理标头设置为iPhone的值。注意,我们必须使用-L选项,以便curl遵循从facebook.com
到m.facebook.com
的重定向。
相关文章:
- 触摸移动时切换到新元素
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- ng消息仅在触摸时显示错误,并在错误的初始显示上转换
- iOS 中的按钮触摸状态
- 如何在jquery中找到鼠标滚轮/触摸移动事件的走向
- 如何使用纯javascript的移动触摸事件
- 如何使用javascript检测触摸设备浏览器与桌面
- 触摸启动事件未在iframe iOS 6中启动
- 如何检测滚动事件是否像在触摸设备上一样只触发一次
- Sencha触摸:工具栏无法正常滚动
- 在可触摸的高光上添加compnant
- 提高$(..)的响应能力.点击触摸界面
- Chrome 50的Android WebView在触摸页面之前会阻止Javascript
- 触摸滑动所有事件
- 从移动网站解析苹果触摸图标
- 安卓浏览器哈希更改后没有苹果触摸图标预编译
- 添加支持苹果移动网络应用程序的可阻止识别 SVG 触摸
- “预加载”苹果触摸预组合图标,然后再添加到主屏幕
- 苹果设备上的触摸事件
- 如何获得favicon图标/苹果触摸图标和标题的网页使用Javascript或Jquery