【发布时间】:2018-12-27 05:50:28
【问题描述】:
假设我的页面 URL 是:http://example.com/path/to/dir/index.html
我通过以下方式代理此页面:http://proxyserver.com/path/to/dir/index.html。
同样,我希望页面中的所有相对 URL 都由 proxyserver.com 而不是 example.com 解析。正确的<base> href 值应该是多少?
我想要页面上的相对 URL,例如
-
newfile.html解析为http://proxyserver.com/path/to/dir/newfile.html -
/newfile.html解析为http://proxyserver.com/newfile.html -
#hash解析为http://proxyserver.com/path/to/dir/file.html#hash
在页面中设置<base href="" /> 可以正确完成这项工作,但它是否有一些含义?跨浏览器是否有不同的解释?空href 值实际上是什么意思?它适用于 Angular 等所有框架吗?
我听说 <base> 标记是 Angular 应用程序初始化所必需的,因此删除 <base> 标记可能不起作用。
注意:该网站可能已经包含一些 <base> 标签,我总是想覆盖这些标签。
我也尝试过<base href="/" />,但它会解析相对 URL
-
newfile.html到http://proxyserver.com/newfile.html和 -
#hash到http://proxyserver.com/#hash这是错误的。
非常感谢任何帮助。
【问题讨论】:
-
这是base的工作原理,我不明白
-
@MarcoSalerno 我找不到任何说明
href的空值对<base>标记意味着什么的文档。是否与不设置或删除现有的<base>标签相同?但是,<base>是强制性的 Angular 应用程序将会中断。 -
空意味着根,就像每个 tchonology 一样