13

我有这个站点,我需要找到根文件夹/加上它的实际工作文件夹。

我的问题是,在开发过程中,我的本地服务器中有该文件夹,而该文件夹又位于其自己的文件夹中:

然后在网上,我将开发站点放在一个文件夹中,因此可以在现场制作等之前对其进行测试。

本地服务器:localhost/mytestSiteA/...

实时服务器测试文件夹:www.asite.com/devbuild/....

现在我可以通过

    document.location.hostname 

但是我需要在此之后添加文件夹名称,以便在开发模式下可以加载内容等。

本地服务器

 document.location.hostname + '/mytestSiteA/'

现场测试现场

 document.location.hostname + '/devbuild/'

但我的问题是,有没有一种简单的方法来获得这个内部文件夹,而不是设置取决于本地开发、实时开发或实时模式的变量,因为这可能会很痛苦,并且动态地获得当前的内部文件夹会很好而不是手动更改等,以便我可以正确添加我的路径。

也将有所帮助,就好像我在其中有一个文件夹也加载了 js 脚本它可以获得它的完整路径。

本地服务器:localhost/mytestSiteA/subsection/...

实时服务器测试文件夹:www.asite.com/devbuild/subsection/...

我希望我已经使这变得易于理解和表达。硅

4

5 回答 5

20

尝试switch

switch (document.location.hostname)
{
        case 'asite.com':
                          var rootFolder = '/devbuild/'; break;
        case 'localhost' :
                          var rootFolder = '/mytestSiteA/'; break;
        default :  // set whatever you want
}

然后使用

var root = document.location.hostname + rootFolder;
于 2012-09-04T09:01:13.320 回答
3

这就是在switch条款之后对我有用的东西。

var root = location.protocol + '//' + location.host + rootFolder;
于 2013-10-21T23:26:09.170 回答
0

您可以将 url localhost/devbuild 映射到 localhost/mytestSiteA 并使用第一个 url 在本地测试您的站点。在你的 javascript 中,你总是可以假设 devbuild 文件夹。这样您就不必更改任何其他内容。

于 2012-09-04T08:59:13.240 回答
0

如果有人需要后退一步

location.href.slice(0,location.href.lastIndexOf("/"))
于 2021-09-15T22:17:15.970 回答
-4

使用相对路径,因此您无需访问根文件夹

这不适用于链接中带有文件夹的友好网址的网站

于 2016-04-07T12:56:01.327 回答