如何动态加载Javascript文件并立即使用它们?

e-s*_*tis 3 javascript bookmarklet

我正在使用JQuery在网页的正文选项卡中动态注入脚本标记.我有类似的东西:

function addJS(url) {
  $("body").append('<script type="text/javascript" src='+url+'></script>'); 
}
Run Code Online (Sandbox Code Playgroud)

我以这种方式添加了几个脚本,然后尝试使用它们.EG:

lib.js

function core() {...}
alert("I'am here !");
Run Code Online (Sandbox Code Playgroud)

init.js

addJS("lib.js");
c = new core();
Run Code Online (Sandbox Code Playgroud)

的test.html

<html>
  <head>
    <title>test</title>        
    <script type="text/javascript" src="init.js"></script> 
  </head>
  <body>
     Hello
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

加载test.html弹出"我在这里"然后最终出现错误"核心未定义".当然合并两个JS文件将使它们完美地工作.

我只是不明白o_O.

编辑

我简化了这个例子,但杰夫回答让我明白这是一个错误.所以这里有一些细节:

当重新加载时,init.js不在test.html的头部,因为我用一个书签上的代码注入了它.

所以真正的执行过程如下:

reload test.html>运行bookmarklet>插入jquery和init.js>插入lib.js

对困惑感到抱歉.

编辑2

现在我有我的问题的解决方案(这很快:-))但我仍然对我的问题的答案感兴趣.为什么会出错?

Pao*_*ino 5

jQuery使用getScript内置了这个功能.