当简单地加载带有<script />
标签的脚本时,您可以像这样检索脚本 URL:
var scriptURL = Array.prototype.pop.call ( // get the last...
document.getElementsByTagName ('script') // ...script tag on the page...
).src.split ('?') [0]; // ...take 'src' attribute...
// ...and strip the query string
这有点小技巧,但有时可能非常有用,原因有很多(例如,当脚本依赖于其他资源文件并且您不想对路径进行硬编码时)。它之所以有效,是因为在执行时<script />
页面上存在的最后一个标签是您的脚本。
我不确定在使用RequireJS加载脚本时是否如此。RequireJS中是否有类似的方法从模块定义中检索脚本 URL?