如何在head标签的顶部/开头插入脚本标记?

Jus*_*tin 5 javascript native append appendchild

我想在head标记中的所有其余脚本之前插入脚本标记.我如何使用原生javascript做到这一点?

<head>
    //INSERT SCRIPT HERE
     <script type="text/javascript" src="common.js"></script>
     <script type="text/javascript" src="omni-controls.js"></script>
</head>
Run Code Online (Sandbox Code Playgroud)

当我使用它时,它只是附加在head标签中的所有标签之后.

document.getElementsByTagName("head")[0].appendChild(script);
Run Code Online (Sandbox Code Playgroud)

I H*_*azy 11

var head = document.getElementsByTagName("head")[0]

head.insertBefore(script, head.firstChild);
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考,这可以完成OP所要求的,但不会导致与使用`appendChild()`的任何不同,因为其他脚本已经执行,因此在它们之前放置一个新的,而在它们之后不会改变任何东西.我的猜测是OP错误地认为这会解决他们的问题. (2认同)
  • @TheZ,jfriend00:我确定这可能是*X/Y问题*.我顽固的部分喜欢回答直接的问题,让他们忍受不问实际问题的结果. (2认同)

Que*_*tin 6

获取firstChild<head>,然后再使用insertBefore.

这不会改变加载脚本的顺序(因为你将在解析其他脚本后将它插入到DOM中),所以这不会给使用带来任何显着差异 appendChild


Cra*_*123 5

document.head.insertBefore(script, document.head.firstElementChild);
Run Code Online (Sandbox Code Playgroud)