Искам да деактивирам зареждането на сайта plone, ако JS е деактивиран в браузъра. Къде точно да сменя кода? Кой шаблон/кожа да избера? Искам да се уверя, че JS винаги е активиран, докато разглеждате която и да е част от сайта на plone. Докато сърфирате, ако JS е деактивиран, мога да пренасоча към друга страница с маркер, за да активирам JS в браузъра и да върна hlink към сайта обратно, ако е активиран. Използвам 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 секунди, за да позволи на браузърите да стигнат до текущата страница, като щракнат върху бутона за връщане назад. Ако времето на пренасочването е твърде малко, страницата може да не бъде запазена в хронологията според тази статия
Желаете ли да изисквате и бисквитки? Ако е така, един от начините за решаване на това е:
- Променете основния шаблон на Plone, за да включите тест за определена бисквитка.
- Ако тази бисквитка не бъде намерена (тествайте с логиката на шаблона), покажете съдържанието „oops, трябва ви js“.
- В този раздел със съдържание без бисквитки включете вграден javascript, за да зададете бисквитка и да презаредите страницата. Ако не искате да разрешите на js да задава бисквитки, все пак можете да зададете параметър на заявка за пренасочване.
- Ако бисквитката или параметърът на заявката бъдат намерени, върнете истинското съдържание. Ако параметърът на заявката, задайте бисквитката само за http.
Ако искате да избегнете бисквитки или други механизми за сесии, алтернативен подход би бил:
Променете основния шаблон на Plone на
- Задайте стил display:none на визуалния портал или подобна обвивка;
- Добавете JavaScript, необходим за преглед на това съобщение на страницата с включен стил на показване;
- Поставете вграден JavaScript, за да зададете display:none на съобщението, необходимо за JS, и display:block на обвивката на визуалния портал.
Лошото в това е, че страниците всъщност ще бъдат заредени без js — просто няма да се показват. Също така със сигурност е възможно съобщението за js-needed да мига, докато се зареждат други ресурси. Уверете се, че настройката на JS дисплея е вградена (не е ключ за готовност на страницата или друго събитие), за да минимизирате ефекта.
Вашите страници трябва да бъдат заредени от JavaScript
, което замества статичната страница Please enable JavaScript in your browser
. Това е единственият начин за решаване на проблема.
Нямам опит в Plone
и не знам кой шаблон прави това.
main_template
.
- person Martijn Pieters; 28.08.2012