我试图在运行时向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...
答案 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);
答案 1 :(得分:1)
script.src = "var a = 1" ;
^^^^^^^^^
这没有意义。 src
元素的<script>
属性必须设置为Javascript文件的URL,而不是脚本的源。如上所述,此代码将尝试加载一个名为 var a = 1
的脚本文件(来自与当前页面相同的目录)。
如果要在运行时运行脚本,则根本不需要创建<script>
元素。只需直接运行代码即可。