PHP:检查网站的响应式设计

Don*_*000 0 php detection responsive-design

是否有类/脚本/可能性来检查网站的响应式设计?它可能是这样的:

if (is_responsive('http://www.site.tld')) {
   echo 'is responsive';
}
else {
   echo 'is not responsive';
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

小智 7

有两种方法可以做到这一点:

  1. 您可以使用JavaScript来检测CSS中是否存在任何媒体查询,然后使用Ajax将真/假变量发送到PHP

  2. 甚至可能使用您的服务器端语言来读取您的CSS文件并使用RegEx来搜索文件中的任何媒体查询.

这些方法都不能保证工作,实在是没有"标准","安全"或"非hackey"这样的方式,你也CAN NOT使用服务器端的技术直接处理媒体查询.

可用于匹配@media规则的RegEx 是:

  1. ^\@media\s(.*?)\{$

    ^ =在字符串的开始位置断言
    \ @ =匹配的字符@字面上
    媒体=匹配的字符媒体字面上
    \ S =匹配任何空白字符[\ r \n \吨\ F]
    .*?=匹配任何字符(换行符除外)
    {=匹配字符{字
    面值$ =字符串末尾的断言位置

  2. \@media\s(.*?)\{

    \ @ =匹配字符@ literally
    media =匹配字符媒体字面上
    \ s =匹配任何空格字符[\ r \n\t\f]
    .*?=匹配任何字符(换行符除外)
    {=匹配字符{字面意思

你也可以使用它i来使RegEx不区分大小写(i只忽略[a-zA-Z]的情况)

以下是@media使用RegEx 检测规则的四种可能方法:

  1. /^\@media\s(.*?)\{$/
  2. /^\@media\s(.*?)\{$/i
  3. /\@media\s(.*?)\{/
  4. /\@media\s(.*?)\{/i