Когда я пишу следующий код прямо на мою html-страницу под тегом сценария, строка «test» добавляется на мою страницу без замены остального содержимого (1):

document.write("test");

Однако, если я помещу этот же код в отдельный файл javascript, например (2):

<script src="http://127.0.0.1/whatever.js" type="text/javascript"></script>

Внезапно тот же самый код переписывает всю мою страницу.

Есть ли способ выполнить document.write () из удаленного файла и получить результат в (1)?

Спасибо за ваше время.

2
Benjamin 17 Июл 2010 в 15:14

3 ответа

Лучший ответ

Если вы используете doc.write во время рендеринга страницы, она вставит или добавит строку. Если вы используете doc.write после его рендеринга или после window.onload, он по сути снова начнет процесс рендеринга и перезапишет страницу.

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

3
mwilcox 17 Июл 2010 в 15:45

Более безопасное решение - добавить элемент документа на страницу - это должно работать всегда

0
mplungjan 17 Июл 2010 в 16:05

Вы можете включить свой сценарий в верхней части страницы. Где он получает вещи document.write () и таким образом записывает текст вместо поведения добавления.

0
sushil bharwani 17 Июл 2010 в 11:33