Как добавить строку JavaScript (а не внешний файл .js)? - PullRequest
2 голосов
/ 16 июля 2010

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

Вот что у меня так далеко:

<script type="text/javascript">
var scriptContents = 'alert("hi")';
var theScript = document.createElement('script');
theScript.type = 'text/javascript';
theScript.appendChild(scriptContents);
document.getElementsByTagName('head')[0].appendChild(theScript);
</script>

Это часть appendChild (scriptContents), с которой у меня проблемы. Как я могу изменить это, чтобы предупреждение появилось в браузере?

Ответы [ 2 ]

6 голосов
/ 16 июля 2010

Вам необходимо добавить его как текстовый узел. Попробуйте это:

theScript.appendChild(document.createTextNode(scriptContents));
4 голосов
/ 16 июля 2010

Вы не можете сделать

theScript.appendChild(scriptContents);

, поскольку appendChild() добавляет только узлы, не может добавлять текст. Вам нужно сделать текстовый узел с:

var scriptContents=document.createTextNode('alert("hi");')

Однако, как упоминал Джейк, вы, вероятно, просто хотите сделать:

eval('alert("hi")');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...