Pull to refresh

Comments 34

UFO landed and left these words here
Я этот подход использую для разделов сайта, на которых обязательна поддержка JavaScript.
Если javascript выключен — пользователь видит страницу, на которой отражено требование включить javascript а так же рекомендации как это сделать в браузере.
Нифига подобного: пользователь видит всё ибо во многих браузерах, не поддерживающих JavaScript, нет и поддержки CSS. Причём речь идёт не только о текстовых браузерах — скажем Netscape до 6й версии реализовывал CSS через JavaScript и если JavaScript был отключён — CSS отключался тоже. Гораздо, гораздо чаще всречается не ситуация когда CSS есть, а JavaScript'а нет, а ситуация когда JavaScript вроде как есть, но, скажем так, специфический. Всякие PSP и Wii, например. Этот подход в такой ситуации помогает мало.

Я не очень представляю себе где бы этот подход можно было использовать практически…
На мобильных браузерах — там как раз ситуация {css:1,js:0} очень частая, потому как javascript отключать легко (опыт работы с nokia browser и opera mobile), а css отключить нельзя, да и обычно не сильно надо. Процент таких клиентов явно больше процента странных нестандартных браузеров. )

Хотя это всё имхо, статистику не изучал.
поправьте орфографию, везде слово «вкючён»
Все хорошо, на зачем вы тегу <script> ставите устаревший атрибут «language»?
ну и document.write () не работает для xhtml
Чтобы обойтись без document.write можно просто назначить с помощью javascript класс (например, .with-js) на элемент html и в дальнейшем уже писать стили с селекторами, опирающиеся на него (например, .with-js .script или .with-js .noscript)
В смысле не работает? Можно по-подробнее?
UFO landed and left these words here
например кнопочку «Обновить комментарии»
В данном случае, ИМХО, корректнее сделать graceful degradation и повесить на эту кнопку простую ссылку.

Хотя… Тут, возможно, дело вкуса.
Конечно, есть <noscript> но он реализует только часть логики — он скрывает часть кода если javascript включён.

<noscript> «реализует» 100% логики. Нужно начать, просто, с того, что он ничего не призван скрывать. Он наоборот отображает элементы при отключенном JavaScript. Поэтому мне кажется абсолютно нецелесообразной вся эта свистопляска с добавлением классов отображающих или скрывающих элементы.

К этому можно добавить _возможные_ проблемы с поисковыми машинами из-за скрытого текста.
то что в noscript поисковые роботы игнорируют, а вот то что в скрытых областях — индексируют. При работе в seo-конкурентных областях такие теги могут стать причиной жалоб модераторам Яндекса.
а чем плох в таком случаи
<noscript>
<style type="text/css">.script{display:none;}</style>
</noscript>?
название статьи — " ВMЕСТО тэга <noscript>..."
ваш случай под такое название не совсем подходит ;-)
«Конечно, есть <noscript> но он реализует только часть логики — он скрывает часть кода если javascript включён. Скрыть часть кода, если javascript выключен стандартной возможности нет.»
я предложил пример, где эта часть логики реализовывается :)
Все таки, лично для меня, логику логичнее не скрывать, а открывать (сорри за каламбур), о чем и написал SelenIT немного ниже.
а кто спорит то?, SelenIT совершенно прав, но сейчас ведь мы обсуждаем как скрыть ненужное, а не как показывать нужное :)

так вот, мне лично не нравится в подходе автора использование javascript + document.write
в результате чего я предложил альтернативный вариант, который реализует ту же логику и ту же схему, только другим путем
так не пройдёт валидацию. тк в head нельзя использовать noscript.
а в остальном то же самое.
я так и делал раньше.
UFO landed and left these words here
Интересная задумка, тока насчет применения не уверен, хотя автор думаю, как раз сталкивался с ситуацией, когда это дейтсвительно нужно.
согласен. Зачем это не понятно, но вот выглядит красиво.
Кратко

<html id=«nojs»>

#nojs .b-blah {
display: none;
}

document.documentElement.id = «js»

#js .b-blah {
display: block;
}

company.yandex.ru/experience/css-framework/practice.html
Согласен с вами, так элегантнее.
UFO landed and left these words here
об этом написано в тексте :)
«есть возможность добавить некий код при помощи скрипта»
На сколько мне помнится, «inherit» поддерживается не всеми браузерами.
Да, вот: reference.sitepoint.com/css/display#compatibilitysection
Осел, как всегда =)
Вот правильный, в вашем случае, код:

<style type="text/css">.script{display:none;}</style>
<script type="text/html">
 <style type="text/css">.script{display:block;}</style>
</script>


(Валидно и кроссбраузерно, если что)
Only those users with full accounts are able to leave comments. Log in, please.