Я хочу отключить загрузку сайта plone, если JS отключен в браузере. Где именно изменить код? Какой шаблон/скин выбрать? Я хочу убедиться, что JS всегда включен при просмотре любой части сайта plone. Во время просмотра, если JS отключен, я могу перенаправить на другую страницу с тегом, чтобы включить JS в браузере и вернуть ссылку на сайт, если он включен. Я использую Plone 4.1.
Как убедиться, что javascript в браузере всегда включен при просмотре моего сайта plone
Ответы (3)
Невозможно включить JS без того, чтобы пользователь сделал это сам в настройках браузера. Вы можете добавить инструкции о том, как включить JavaScript или перенаправить на страницу с инструкциями, используя теги noscript
следующим образом:
<noscript>
<meta http-equiv="Refresh" content="5;url=http://example.com/foo/bar.php?js=false" />
</noscript>
Тег meta
перенаправляет на вашу страницу без JS через 5 секунд, чтобы позволить браузерам перейти на текущую страницу, нажав кнопку «Назад». Если время перенаправления слишком мало, страница может не сохраниться в истории согласно этой статье
Готовы ли вы также требовать файлы cookie? Если это так, один из способов решить эту проблему:
- Измените основной шаблон Plone, чтобы включить тест для определенного файла cookie.
- Если этот файл cookie не найден (проверьте с помощью логики шаблона), покажите содержимое «упс, вам нужен js».
- В этом разделе содержимого без файлов cookie включите встроенный javascript, чтобы установить файл cookie и перезагрузить страницу. Если вы не хотите разрешать js устанавливать файлы cookie, вы все равно можете установить параметр запроса для перенаправления.
- Если файл cookie или параметр запроса найден, верните реальный контент. Если параметр запроса, установите файл cookie только для http.
Если вы хотите избежать использования файлов cookie или других механизмов сеанса, альтернативным подходом может быть:
Измените основной шаблон Plone на
- Установить стиль display:none на визуальном портале или аналогичной оболочке;
- Добавьте сообщение JavaScript, необходимое для просмотра этой страницы, с включенным стилем отображения;
- Вставьте встроенный JavaScript, чтобы установить display:none в сообщении, требующем JS, и display:block в оболочке визуального портала.
Суть в том, что страницы на самом деле загружаются без js — просто не отображаются. Также, безусловно, возможно, что сообщение о необходимости js может появиться во время загрузки других ресурсов. Убедитесь, что манипулирование отображением JS встроено (не связано с готовностью страницы или любым другим событием), чтобы свести к минимуму эффект.
Ваши страницы должны быть загружены JavaScript
, который заменяет статическую страницу Please enable JavaScript in your browser
. Это единственный способ решить проблему.
У меня нет опыта работы с Plone
и я не знаю, какой шаблон это делает.
main_template
.
- person Martijn Pieters; 28.08.2012