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

Add script content to page on runtime

我尝试在运行时向我的 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...

尝试在 head 而不是 title 中添加脚本,如果你想向其中添加一些变量,你应该使用文本 属性,比如

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

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

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

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