我正在尝试做一些类似 C #include "filename.c"
或 PHP include(dirname(__FILE__)."filename.php")
的事情但是在javascript中。我知道如果我可以获得从中加载 js 文件的 URL(例如,标签的 src 属性中给出的 URL),我就可以做到这一点。 javascript 有什么办法知道吗?
或者,有什么好的方法可以从同一个域动态加载 javascript(无需具体了解域)?例如,假设我们有两个相同的服务器(QA 和生产),但它们显然具有不同的 URL 域。有没有一种方法可以执行类似 include("myLib.js");
的操作,其中 myLib.js 将从加载文件的域加载?
抱歉,如果这句话有点令人困惑。
最佳答案
在脚本中:
var scripts = document.getElementsByTagName("script"),
src = scripts[scripts.length-1].src;
这是有效的,因为浏览器按顺序加载和执行脚本,所以当您的脚本正在执行时,包含它的文档肯定会将您的脚本元素作为页面上的最后一个元素。这段代码当然必须是脚本的“全局”代码,因此请将 src
保存在您以后可以使用的地方。通过将其包装在以下内容中来避免泄漏全局变量:
(function() { ... })();
关于javascript - 如何获取当前正在执行的javascript代码的文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2255689/