我想在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);
答案 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 = "";
});
}
});
},