通常,当将脚本或图像加载到.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*/
}
});
答案 0 :(得分:0)
您可以通过查看document.scripts
:
因此,如果您知道在页面上加载的第一个脚本是src="external_java.js"
,那么检查document.scripts[0].src
将为您提供该文件的绝对路径。
从那里我只是用scrc中的任何内容替换文件名,你有一个绝对的根路径......例如:
var root = document.scripts[0].src.replace("external_java.js", "");
从那里你可以将它添加/添加到你想要调用的路径中。