在运行时将页面内容添加到页面

时间:2015-01-06 07:28:59

标签: javascript jquery html dom domdocument

我试图在运行时向index.html页面添加一些带有内容的脚本标记页面加载后在标题标签下,在chrome控制台页面中我放了以下内容

var script = document.createElement('script');
script.src = "var a = 1" ;
document.getElementsByTagName('title')[0].appendChild(script);

我从SO论坛中拿这个例子,但它对我不起作用(第三个声明没有做任何事情

> 1.is it possible to do that in the console and update the document 
> 2.there is a way not do to do that in the console for example from external file...

2 个答案:

答案 0 :(得分:2)

尝试在head而不是title中添加脚本,如果您想为其添加一些变量,则应使用text属性,

var script = document.createElement('script');
script.text = "var a = 1" ;
//-----^ it should be text not src, if you want external js then use src
document.getElementsByTagName('head')[0].appendChild(script);

Working Demo

答案 1 :(得分:1)

script.src = "var a = 1" ;
              ^^^^^^^^^

这没有意义。 src元素的<script>属性必须设置为Javascript文件的URL,而不是脚本的源。如上所述,此代码将尝试加载一个名为 var a = 1的脚本文件(来自与当前页面相同的目录)。

如果要在运行时运行脚本,则根本不需要创建<script>元素。只需直接运行代码即可。