带有Html基本标记的Url哈希

bra*_*rad 9 html javascript hash base-tag

window.location.hash

当使用链接进行javascript操作时,我通常会这样做:

<a href="#">Link Text</a>
Run Code Online (Sandbox Code Playgroud)

这样,当有人在页面加载之前点击链接时,没有任何可怕的事情发生.

Html基本标记

在我当前的项目中,我使用相同的构造,但使用基本标记:

<html>
<head>
    <base href="http://example.com/" />
</head>
<body>
    <a href="#">Link Text</a>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但是,如果页面网址是:

http://example.com/dir/page
Run Code Online (Sandbox Code Playgroud)

单击链接导航到

http://example.com/#
Run Code Online (Sandbox Code Playgroud)

而不是

http://example.com/dir/page#
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

Ken*_*ing 9

删除base标记或将href属性更改为完全限定.您正在观察的是basea元素混合时的预期行为.