Как перенести <noscript> тег для сокрытия содержания, когда JavaScript отключает

Я думаю, что Ваш лучший выбор здесь может состоять в том, чтобы определить единственный глобально ограниченная по объему переменная и дамп Ваших переменных там:

var MyApp = {}; // Globally scoped object

function foo(){
    MyApp.color = 'green';
}

function bar(){
    alert(MyApp.color); // Alerts 'green'
} 

Никто не должен вопить на Вас для того, чтобы сделать что-то как вышеупомянутое.

23
задан RyanS 9 November 2015 в 18:25
поделиться

4 ответа

Это немного странно

Для этого вам даже не нужен «скрипт». У вас может быть просто пустая первая страница, единственным содержимым которой является javascript в форме:

document.location = '/realpage.htm';

А затем вызовите этот OnLoad , используя jQuery или что-то еще. Это будет означать, что если у клиента нет сценариев, они никуда не денутся, поэтому страница останется пустой.

Изменить:

Пример, как запрошено:

<html>
<body onload="document.location = 'realpage.html';">
</body>
</html>
5
ответ дан 29 November 2019 в 00:41
поделиться

Оберните все свое содержимое в основной блок без отображения и в функции загрузки измените отображение на блок.

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Untitled Document</title>
</head>
<body>
  <div id="divMain" style="display: none">
    This is content.
  </div>
<noscript>
  JS not enabled
</noscript>
<script>
  document.getElementById("divMain").style.display = "block";
</script>
</body>
</html>
22
ответ дан 29 November 2019 в 00:41
поделиться

Тег noscript работает наоборот. Чтобы сделать содержимое видимым, когда скрипт включен, поместите его в скрытый элемент и покажите его с помощью скрипта:

<div id="hasScript" style="display:none">
This is content
</div>
<script>document.getElementById('hasScript').style.display='';</script>
5
ответ дан 29 November 2019 в 00:41
поделиться

Вы могли сделайте что-нибудь вроде

<body id="thebody">
  this is content.
  <script>
    document.getElementById('thebody').innerHTML = "<p>content when JS is enabled!";
  </script>
</body>
1
ответ дан 29 November 2019 в 00:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: