PHP: Проверьте сайт на адаптивный дизайн

есть ли класс / скрипт / возможность проверить сайты на адаптивный дизайн? Это может быть что-то вроде этого:

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

Есть идеи?

0

Решение

Есть два возможных * способа сделать это:

  1. Вы можете использовать JavaScript, чтобы определить, есть ли какие-либо медиа-запросы в вашем CSS, а затем отправить переменную true / false в PHP, используя Ajax.

  2. Возможно, даже используйте ваш серверный язык для чтения вашего CSS-файла и используйте RegEx для поиска любых медиа-запросов в файле.

Эти методы не гарантированно работают, и на самом деле не существует «стандартного», «безопасного» или «нехакерского» способа сделать это, также вы НЕ МОГУ использовать серверную технологию для прямой обработки медиазапросов.

RegEx, которые вы можете использовать, чтобы соответствовать @media Правила таковы:

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

    ^ = подтвердить позицию в начале строки
    \ @ = соответствует символу @ буквально
    media = буквально соответствует символам media
    \ s = соответствует любому пробелу [\ r \ n \ t \ f] .*? = соответствует любому символу (кроме новой строки)
    {= соответствует символу {буквально
    $ = подтвердить позицию в конце строки

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

    \ @ = соответствует символу @ буквально
    media = буквально соответствует символам media
    \ s = соответствует любому пробелу [\ r \ n \ t \ f] .*? = соответствует любому символу (кроме новой строки)
    {= соответствует символу {буквально

Также вы можете использовать i сделать регистр нечувствительным к регистру (i игнорирует только случай [a-zA-Z])

Вот четыре возможных способа обнаружения @media правила использования RegEx:

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

Другие решения

Нет, технически вы не можете проверить скорость отклика с помощью PHP-скрипта, так как это на стороне клиента.

1

Для этого нет регулярной или идеальной функции. Для программной проверки вы можете анализировать таблицы стилей для медиа-запросов.

Итак, чтобы быть ясно, это не Рекомендую использовать его, так как медиа-запросы могут использоваться для многих вещей.

Если вы все равно хотите попробовать, это может помочь вам: @media ?[^{]+?{,

1

Нет! особенно в PHP.
Вы можете попробовать проанализировать CSS для медиа-запросов или проверить, установлены ли размеры элементов в абсолютных значениях или нет.

По моему мнению, лучше всего использовать веб-движок на стороне сервера и заставить его отображать страницу с другим window.width, и проверить, изменится ли ширина документа вместе с ним. Такой модуль может быть выполнен из php, но не может быть выполнен в php. — и если у вас нет выделенного сервера, забудьте о таких трюках.

0
По вопросам рекламы [email protected]