如何检查网站的移动版本


how to check for mobile version of a website?

我想检查特定网站是否存在移动版本。据我了解,我们无法确定每个网站是否都有位于 http://m.example.com/的移动版本,因此我正在通过 CURL(( 请求进行测试。这是我的做法:

* I send mobile browser headers in curl request, this returns contents of 
the returning URL. 
* If it has a mobile version, then it would return contents of a mobile version site.
* I then check if the content includes @media keyword, if it exists then I assume it has a mobile version.

问题是,如果它的 css 在外部加载,那么我将不得不进一步向 CSS 文件发送 CURL(( 请求,这将使它更慢。我的问题有什么具体的解决方案吗,或者我可以进一步推动这个过程吗?

任何帮助将不胜感激。谢谢。

你的方法的问题,闻起来有点像XY问题,是它根本不可靠。

该网站为移动网站提供了许多选择,其中包括:

1. 使用 CSS 媒体查询

这种方法的问题有两个。对于初学者来说,您必须扫描每个CSS文件和<link>声明。其次,该网站可以使用JavaScript动态地将样式表引入页面,而使用cURL永远不会看到样式表,因为它缺少JavaScript解析器。

2. 使用(客户端(JavaScript 进行浏览器嗅探,或使用 JavaScript 进行屏幕宽度嗅探

同样,这个 JavaScript 永远不会被执行,所以你永远不会看到那个结果。

3. 使用服务器端代码进行浏览器嗅探

好吧,我想您可以尝试在cURL请求中使用移动用户代理字符串,看看这会将您带到哪里,但是所有这些方法都是黑客和不可靠的。

4.该页面可以从一开始就适合移动设备(归功于@Quentin(

正如评论中@Quentin提到的,该页面可以是移动友好的,而无需在客户端/服务器端进行任何额外的检查(例如,通过简单地使用基于百分比的值,没有媒体查询的响应式设计(。