Получить HTML-теги перед document.ready (), перед отображением DOM - PullRequest
4 голосов
/ 06 июля 2010

Я ищу такой метод, который позволяет мне добавлять, удалять DOM-объекты страницы еще до того, как DOM даже рендерит, я имею в виду первый JS, который я включаю в тег head моей страницы, может найти определенный тег сказать и удалить его из HTML даже до того, как он будет отрендерен, я знаю, что вызов javascript блокируется, так как браузер будет отображать мою страницу и попадет в мой javascript в голове, он заблокирует рендеринг, загрузку и исключение javascript, теперь в момент выполнения мне нужен контроль над ранее загруженным HTML, ожидающим обработки. Есть ли такой способ?

Я пытался использовать свойства документа, но я не получаю теги в моем js, которые идут после этого js в html.

Ответы [ 6 ]

0 голосов
/ 03 сентября 2012

Просто поместите тег script внутри тега noscript и затем извлеките его, если это необходимо, тогда независимо от того, включен ли javascript или нет, скрипт не будет выполняться, пока не будет извлечен из тега noscript. Примечание : Вы должны заключить JavaScript в тег комментария, чтобы браузеры, которые не поддерживают тег noscript, не выполняли его в любом случае.

0 голосов
/ 10 августа 2010

Короткий и простой ответ на этот вопрос - НЕТ, это невозможно сделать

0 голосов
/ 06 июля 2010

Итак, вы хотите запретить выполнение скрипта на странице? Если вы можете разместить свой собственный скрипт где угодно, вы можете попробовать

<script>
document.write("<!--");
</script>
<script>// offending script</script>
<script>
document.write("-->");
</script>

(Предупреждение: так лежит безумие.)

0 голосов
/ 06 июля 2010

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

0 голосов
/ 06 июля 2010

Вы должны быть осторожны с этим, так как попытка изменить DOM до его завершения вызывает проблемы в IE. В частности, в IE6 это вызвало бы очень недружелюбное сообщение об ошибке, которое после принятия вызывает стандартную страницу «Эта страница не может быть отображена». Хотя эта проблема и не полностью изложена в IE8, эта проблема просто проглочена.

Если это возможно, я бы порекомендовал удалить необходимые теги из html, прежде чем он попадет в средство визуализации, либо через прокси, либо через расширение браузера. Если это не реально, то я не уверен, что вы можете сделать.

0 голосов
/ 06 июля 2010

Вставьте JavaScript перед </body>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...