0

因此,通常在将脚本或图像加载到 .html 文件中时,它会使用其当前位置作为 url 调用函数的根。现在,当像这样加载外部 Javascript 文件时:

<script type="text/javascript" src="external_java.js"></script>

从上面的 javascript 文件调用的任何内容都将使用 .html 在服务器上的位置,而不是 .js 文件的位置。有什么办法可以改变这个吗?

这样,当我调用 XML 文件时,它将使用 .js 位置作为调用的根?

$.ajax({
    type: "GET",
    url: ../template/file.xml,
    dataType: "xml",
    success: function(xml) {
        /*do something here*/
           }
       });
4

1 回答 1

0

您可以通过以下方式查找脚本文件的绝对 src document.scripts

因此,如果您知道您在页面上加载的第一个脚本是src="external_java.js",那么检查document.scripts[0].src将为您提供该文件的绝对路径。

从那里我只需将文件名替换为 got src 中的任何内容,您就有了一个绝对根路径...例如:

var root = document.scripts[0].src.replace("external_java.js", "");

从那里您可以将其附加/添加到您尝试调用的路径中。

于 2013-04-20T00:04:24.733 回答