Подтвердить что ты не робот

Присвоение тегу script идентификатора

Я столкнулся с сценарием, в котором атрибут script атрибут id мог бы легко решить проблему. Однако после прочтения элемента script в w3schools и quirksmode, похоже, что это может иметь некоторые непредвиденные последствия.

Кто-нибудь сталкивается с любой из этих проблем с браузерами, такими как Chrome, Safari, FF3 и IE 7?

4b9b3361

Ответ 1

Это прекрасно во всех современных браузерах.

Единственный браузер, получивший <script id> неправильный, был Netscape 4, который мы перестали заботиться о долгое время назад.

Эта страница quirksmode выглядит плохо устаревшей, что с ее использованием атрибутов language, script <!-- скрывается и application/x-javascript. Его совет об избежании <script> в <body> (и помещая его в <head>) не соответствует сегодняшним поощряемым практикам.

Если мы говорим о проблемах с совместимостью с атрибутами <script>: defer не работает везде, поэтому не полагайтесь на него; charset не работает повсюду, и ни параметр charset на обслуживаемом script Content-Type, поэтому ваша кодировка script не лучше соответствует странице; type всегда должен быть text/javascript, а не одной из нерабочих альтернатив, которую хотели бы использовать педанты, которые писали RFC 4329.

Ответ 2

Если вам все еще нужно поддерживать Netscape 4, у вас есть много проблем - и жалость и соболезнования остальным мирам разработчиков.

Короткий ответ, я бы не стал беспокоиться об этом.

Ответ 3

Я не думаю, что у браузера возникнет проблема, добавив атрибут id к элементу script.

На некоторых моих сайтах, которые загружают дополнительные JavaScripts через JavaScript, я добавил атрибут class, чтобы упростить их ссылку. Валидатор не жаловался.

Ответ 4

Я знаю, что прошло много времени, но я подумал, что было бы неплохо указать, что когда вы смотрите определение W3 Schools тега script, в какой-то момент вы видите, что

Тег также поддерживает Глобальные атрибуты в HTML.

и среди этих атрибутов ta-da вы найдете свой прекрасный идентификатор.

То же самое можно сказать о множестве тегов, которые, несомненно, дадут нам большую гибкость, когда вытащите этот красивый трюк из шляпы.

Ответ 5

Имейте в виду, что установка id для любого элемента представляет новую глобальную переменную с тем же именем, что и атрибут id:

id как глобальная переменная