如何动态地将JavaScript添加到标签上方?

时间:2013-11-27 07:05:32

标签: javascript

我有一段JavaScript代码要添加到<body>标记的末尾,紧接在</body>之上。 JavaScript无法直接添加到页面中。它通过外部工具插入浏览器端。此js代码将放置在</body>标记的正上方,如下所示。

<head>
something
</head>

<body>
some html/js
some html/js
........
my js code here
</body>

我该怎么做?有没有办法在没有页面编码的情况下实现这一点,但只能作为外部工具中js代码的一部分?我被允许只在工具中编写JavaScript。

我的基本问题是当脚本要写在其他地方时,如何在</body>标记之前插入脚本?

2 个答案:

答案 0 :(得分:1)

您可以这样使用:

document.body.appendChild(SCRIPT_NODE_HERE);

此外,如果您正在使用Ajax,那么您应该将代码置于成功加载脚本并准备执行的事件中

这里有一件事,如果你想动态加载脚本,那么就没有必要在</body>标签之前加载它,因为它没有给你带来好处。

开发人员通常将脚本放在正文末尾附近,这样可以减少页面加载时间,并在一定程度上延迟脚本执行,直到页面加载完毕,这样就不会阻止其他内容并给客户带来不愉快的体验

因此,当您动态加载脚本时,您的页面已经下载了其资源,并且没有阻止。

答案 1 :(得分:0)

 document.onreadystatechange = function () {
  if (document.readyState == "complete") {
    your js code here
  }
 }

使用您的工具将其加载到页面中,我相信它在页面中加载,它将在页面的readystate更改后执行,当页面完全加载时,您的代码将执行。< / p>