【问题标题】:Check a Website is Responsive or not using PHP [closed]检查网站是否响应或不使用 PHP [关闭]
【发布时间】:2016-05-25 02:32:35
【问题描述】:

我想通过分析其 HTML 代码来检查网站是否响应。类似的问题已经被问到https://stackoverflow.com/questions/29937745/programmatically-checking-whether-a-website-is-responsive-or-not。它只检查标签<meta name="viewport" content="width=device-width">

但是,如果您查看 google.com、facebook.com、stackoverflow.com 等网站的源代码,它们没有这个“viewport”标签。但他们也反应灵敏。他们正在根据用户代理更改 HTML 代码。例如,如果 google 发现用户代理是 iPhone,它会给出一个不同的响应式 HTML 代码。

那么我如何检查这些类型的网站是否响应?

【问题讨论】:

  • ...呃,请求页面可能有不同的用户代理字符串?
  • 好的。然后我将用户代理设置为 iPhone。但是仍然没有办法检查它是否有响应。该代码没有元视口标签
  • 大概如果代码以这种方式响应,它会大不相同?区分两者的 HTML,或者只是 CSS,应该会告诉你。或者,我想您可以使用无头浏览器,并检查滚动条(可能太多,PHP 无法管理)。
  • 您会注意到您链接到的问题已被关闭为离题。不知道为什么您认为再次提问会得到不同的结果。
  • @cimmanon 它已关闭,所有网站的答案并非 100% 正确。两个问题都不一样

标签: php html css responsive-design


【解决方案1】:

感谢@Alexander O'Mara 的建议。这是个小把戏。不是 100% 正确的方法。但适用于所有网站。

<?php
    ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9');
    $html = file_get_contents("http://php.net/");

    ini_set('user_agent', 'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7');
    $html2 = file_get_contents("http://php.net/");

    similar_text(substr($html,0,1000),substr($html2,0,1000), $similariy);
    echo $similariy."<br>";


if($similariy<50)
        echo "It's responsive";
else
        echo "not responsive";
?>

基本上,它所做的是将 HTML 代码作为计算机和移动设备进行比较。然后找出相似之处。如果相似度较低,则意味着他们正在根据用户代理更改代码。当然,响应式网站应该这样做

【讨论】:

  • 顺便说一句。您自己没有找到这个解决方案,您将 Alexander O'Mara 在 cmets 中告诉您的内容变成了代码块。
  • @Shomz 好的,我已经添加了他的学分。但这没什么大不了的。甚至在他这么说之前我就知道了。我的问题很清楚
猜你喜欢
  • 2014-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-15
  • 1970-01-01
  • 2015-05-26
  • 2017-10-27
相关资源
最近更新 更多