如何解决包含文件中的相对路径问题?

时间:2017-02-03 08:37:28

标签: javascript html

我有一个看起来像这样的应用程序结构:

/Views/Page1.html
/Views/SubFolder/Page2.html

现在每个页面都会有一个javascript的链接,这将包含如下所示的常见包含:

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

到目前为止一切顺利,因为我们知道每个起始html页面的位置,并且可以直接调整脚本目录的相对路径。

问题是,在这个commonIncludes.js文件中,有一些代码实际上会写出js包含如下:

// JQuery UI 
document.write('<script type="text/javascript" src="../script/jquery-ui-latest.min.js"></script>');
document.write('<script type="text/javascript" src="../script/jquery-ui-layout-latest.min.js"></script>');

这就是问题所在,因为相对路径不是从commonIncludes.js计算出来的,而是来自调用.html页面,并且可以驻留在应用程序结构中的任何位置。

从root引用也不会像这样工作&#34; \&#34;因为该站点使用IIS应用程序,因此URL最终看起来像这样:

http://mysite/test

http://mysite/prod

http://mysite/testForCustomerX

所以我正在寻找一种方法来调整或设置路径,无论使用相对路径调用html的位置如何。

2 个答案:

答案 0 :(得分:0)

您是否尝试将当前网址与“窗口”对象一起使用?那么你可以使用window.location.host来了解你的女巫环境。

而不是

document.write('<script type="text/javascript" src="../script/jquery-ui-latest.min.js"></script>');

使用此

document.write('<script type="text/javascript" src="http://host/script/jquery-ui-latest.min.js"></script>');

答案 1 :(得分:0)

//使用这种风格。

document.write('<script type="text/javascript" src="//script/jquery-ui-latest.min.js"></script>');