我需要基数href =' /'?

时间:2016-12-19 19:17:32

标签: html angularjs html5

我根据this post的理解是,默认base href'/'This scotch tutorial表示要包含此基础href:

<!-- ./index.html  -->
<base href="/">

对于基本应用,这是绝对必要的,还是浏览器会认为'/'是相对路径的base href

2 个答案:

答案 0 :(得分:6)

  浏览器会假设'/'是相对路径的基础href吗?

不,他们不会。

HTML规范specifies how relative URLs are resolved。通过规范和定义来解决当根据没有通过&lt; base&gt;指定的基本URL的文档解析相对URL时,并不难。 element,有效(“后备”)基本URL不保证为/。有一些替代方案,但在通常情况下,文档的后备基本URL被视为文档自己的URL。通常情况下,这不是/

/指定为每个文档的基本URL是不是一个好主意。这意味着每个相对URL都将以相同的方式解析,无论它出现在哪个文档中;这可以作为一个加号。另一方面,它与解析相对URL的默认行为不同,后者可能是错误的来源。当然,如果您选择这样做,那么您应该在整个申请过程中始终如一地进行。

答案 1 :(得分:0)

基础是页面所在的位置。每个相对URL都与base相关。让我们假设你在

http://a/b/c

如果此页面中包含此代码的链接:

<a href="../d">abc</a>

然后点击链接,target

http://a/d

所以,您的base位于

http://a/b

因为c在其中。既然您已了解base的内容,请查看here。除了href之外,您还可以看到target,同时指定链接应该打开的位置。