В Firefox, почему эта страница отображается таким образом (содержимое тега noscript игнорируется) при запуске NoScript или uBlock Origin?

У меня есть страница

http://www.zen76171.zen.co.uk/aaa2.html

с этим HTML

<!doctype html>
<html>
<head>
<noscript>aaa</noscript>
<script>document.write("bbb")</script>
</head>
<body>
ccc
</body>
</html>

Я понимаю, что содержимое тега noscript должно работать, если в браузере не запущен javascript.

В chrome или firefox, без каких-либо расширений, блокирующих что-либо, я получаю вывод bbb ccc. Это хорошо, это имеет смысл. "bbb" показывает, потому что javascript разрешен, а ccc показывает, потому что он показывает, включен ли javascript или нет.

Затем я пытаюсь установить NoScript в Firefox https://addons.mozilla.org/en-GB/firefox/addon/noscript/

Теперь, когда я перезагружаю страницу, я упомянул http://www.zen76171.zen.co.uk/aaa2.html

Это показывает ccc, Это указывает на то, что скрипты блокируются, поэтому эта часть хороша.

Но результат, который я ожидаю aaa ccc, потому что я ожидал, что "aaa" покажет, когда сценарии отключены, а сценарии отключены.

Есть также вторичная проблема, которую я обхожу, это то, что если я отключаю или даже "удаляю" NoScript из Firefox, то я все равно получаю тот же ответ "ccc", мне нужно удалить и переустановить Firefox, чтобы удалить NoScript. Но сейчас это будет делать, когда я хочу удалить NoScript.

Этот вопрос: почему он показывает только "ccc", а не "aaa ccc"?

добавленной

Я на самом деле получаю только "ccc", показанный с "uBlock Origin". Если я устанавливаю 'uBlock Origin' и выбираю оставить как есть, чтобы не отключать сценарии, то я получаю 'bbb ccc' (отлично). Принимая во внимание, что если я нажму, чтобы отключить скрипты на странице, то получу "ccc". "Ааа" не отображается.

0 ответов

Тег noscript использовался неправильно, в то время как расширение браузера работает правильно. Кроме того, результат страницы может быть кэширован, и, следовательно, вероятно, потребуется жесткое обновление (перезагрузка с переопределением кэша).

Неправильное использование

Но вывод, который я ожидаю, это "aaa ccc", потому что я ожидаю, что "aaa" покажет, когда сценарии отключены, и сценарии отключены.

Нет, ожидаемый вывод 'aaa' не будет показан, потому что тег noscript использовался неправильно.

HTML-тег noscript в W3schools дает краткое объяснение использования:

Определение и использование [...]

Элемент

При использовании внутри элемента :