Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在本地运行HTML站点时声明根文件夹_Html_Url_Browser_Root_Relative Path - Fatal编程技术网

在本地运行HTML站点时声明根文件夹

在本地运行HTML站点时声明根文件夹,html,url,browser,root,relative-path,Html,Url,Browser,Root,Relative Path,我有一个简单的静态站点,在不同的目录中有HTML页面,通常通过在浏览器中打开文件在本地运行该站点 我遇到的问题是,浏览器无法识别哪个文件夹是根文件夹,因此任何指向根文件夹的相对url(href=“/about.html”)都无法正常工作 比如说 我在浏览器中打开它:file:///X:/DOCS/MySite/Directory1/page.html 在这个“page.html”中,我有一个链接:href=“/about.html” 我希望链接指向:file:///X:/DOCS/MySite/

我有一个简单的静态站点,在不同的目录中有HTML页面,通常通过在浏览器中打开文件在本地运行该站点

我遇到的问题是,浏览器无法识别哪个文件夹是根文件夹,因此任何指向根文件夹的相对url(href=“/about.html”)都无法正常工作

比如说

我在浏览器中打开它:file:///X:/DOCS/MySite/Directory1/page.html

在这个“page.html”中,我有一个链接:href=“/about.html”

我希望链接指向:file:///X:/DOCS/MySite/about.html

但相反,它指向:file:///about.html

我的问题是:如何告诉浏览器哪个文件夹是根目录?…或者…是否有其他方法可以更好地在本地运行我的站点


注意:到目前为止,我一直在我的链接结构中使用大量的up directory(../),作为解决方法,但这很复杂,并且会导致其他问题,因此能够基于根(“/”)进行链接要容易得多。

您可以使用jQuery/JavaScript解决它

$("[href^='root:']").each(function() {
  var newRoot = "http://google.com/";
  $(this).attr("href", newRoot+$(this).attr("href").substr(5))
  return false;
});
这将更改从
根目录:
开始的所有链接,以便使用上面的代码,
href=“root:index.html”
将变成
href=”http://google.com/index.html“

但是,这不会应用于稍后使用JavaScript添加到页面的任何链接

$("[href^='root:']").each(function() {
  var newRoot = "http://google.com/";
  $(this).attr("href", newRoot+$(this).attr("href").substr(5))
  return false;
});

这将需要在每个开发链接之前添加
根:
,并且需要在生产代码中删除,因此与在开发代码中使链接绝对到本地路径相比,有什么好处?@t.niese Yes。我假设您可能不希望更改所有链接,因为有些链接可能是外部链接。我认为,如果使用“Find root:and Replace with/”来删除某个链接,那么以任何其他方式检测该链接是否是外部的将是一件非常费力的事情在任何旧的文本编辑器中。@t.niese我不明白为什么即使在生产代码中使用
root:
也会有任何负面影响,因为您正在使用JavaScript对其进行更改。因为它只在JavaScript处于活动状态时才起作用,并且会阻止搜索引擎为站点编制索引?如果您有一个模板用于围绕html,您可以考虑使用