获取当前 js 文件路径,正确加载其他资源

作者:vkvi 来源:ITPOW(原创) 日期:2010-6-10

我们以 HTML 编辑器为例,现在的 HTML 编辑器都做得很好,只需要几个引用,几句 JavaScript 代码,就实现了。但我们发现,其中有很多图片,是由 JavaScript 动态指定的,但我们并没有指定图片路径,它怎么就能正确引用了呢?

比如 .js 文件和图片文件一个目录,但 .js 文件中动态创建 img 时,并不能直接指定文件名,还应该指定路径,应该这个图片的路径不应该是相对于 .js 来说的,而应该是相对于引用之的 html 文件来说有。

它大概是这样做到的:

  • 获取所有的 script 标签;
  • 根据 script 标签的 src 所引用的文件名,找出引用当前 .js 文件的 script;
  • 剥离出第二步找到的 script 的 src 路径,这个路径就是相当于当前 html 文件对 .js 文件的路径。

示例

ezj.about.scriptPath = (function() {
    var result = "";
   
    var es = document.getElementsByTagName("script");
    for (var i = 0; i < es.length; i++)
    {
        if (String.is(es[i].src) && es[i].src.right(6).equalsIgnoreCase("ezj.js"))
        {
            result = es[i].src.left(es[i].src.lastIndexOf("/") + 1);
        }
    }
   
    return result;
})();

以上是 ezj 中的代码。

相关阅读

相关文章