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

时间:2012-10-19 17:26:57

标签: javascript append native 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>

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

document.getElementsByTagName("head")[0].appendChild(script);

3 个答案:

答案 0 :(得分:11)

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

head.insertBefore(script, head.firstChild);

答案 1 :(得分:6)

获取firstChild的{​​{1}},然后使用insertBefore

这不会改变加载脚本的顺序(因为在解析了其他脚本之后你将把它插入到DOM中),所以这不会仅仅使用{{1}给出任何显着差异}

答案 2 :(得分:2)

restrict: "A",
scope: {
    showAddTextbox: "=?",
    newBookmarkTitle: "=ngModel"
},
link: (scope: ng.IScope, element: ng.IAugmentedJQuery, attributes: ng.IAttributes, controller: BookmarkListController): void => {
    element.on("keyup", (e: any): void => {
        if (e.keyCode === 13) {
            qlik.createBookmark("ABC", scope.newBookmarkTitle);
            scope.$timeout(() => {
                scope.showAddTextbox = false;
                scope.newBookmarkTitle = "";
            });
        }
    });
},