Как вы можете определить, является ли текущая страница AMP? - PullRequest
0 голосов
/ 15 февраля 2019

Я новичок в AMP, и мы хотим, чтобы что-то происходило, только если текущая страница не является страницей AMP.Есть ли универсальное свойство на window, которое мы можем увидеть, определено ли оно, чтобы определить, является ли текущее представление AMP или нет?

Некоторый фон: в настоящее время мы поставляем приложение реагирования через плагин wordpressи мы замечаем некоторые ошибки, которые могут быть только со страниц AMP (хотя мы еще не одобрили запуск на страницах AMP - не уверены, почему наш скрипт все еще пытается загрузить), поэтому мы не хотим запускать нашскрипт, если текущим представлением является страница AMP.

Ответы [ 4 ]

0 голосов
/ 07 марта 2019

Если вы используете браузер Chrome, установите следующее расширение:

AMP Validator (https://chrome.google.com/webstore/detail/amp-validator/nmoffdblmcmgeicmolmhobpoocbbmknc?hl=en)

Если текущая страница использует AMP, то это расширение станет активным в браузере.

0 голосов
/ 17 февраля 2019

Не для window, но для спецификации AMP требуется, чтобы тег html имел атрибут или amp, то есть <html ⚡> или <html amp>.Также требуется <style amp-boilerplate> внутри head.Должно быть легко использовать JavaScript для проверки.

Спецификации см. В https://www.ampproject.org/docs/fundamentals/spec#required-markup

0 голосов
/ 18 февраля 2019

Существует свойство «AMP» после инициализации страницы AMP.Этот тест более точен, чем простая проверка разметки усилителя.

Помните, что добавление любого пользовательского JavaScript для таких обнаружений приведет к аннулированию страницы AMP.Страница все еще может функционировать сама по себе, но не сможет использовать AMP-кеш или усовершенствования поисковой системы.

0 голосов
/ 15 февраля 2019

Я обнаружил, что тег <html> имеет атрибут amp, когда это страница AMP.Я не уверен, что это всегда так, но если у кого-то есть тот же вопрос, похоже, это работает для моего варианта использования: document.getElementsByTagName('html')[0].hasAttribute('amp')

...