带有BASE标签的“回到顶端”按钮

时间:2012-02-02 19:18:52

标签: html

在我的HTML中,我目前正在使用以下BASE标记来简化文件管理:

<base href="../" target="_blank" />

我愿意在页面底部添加“页面顶部”按钮。以下行不起作用,可能是因为基础是一个目录。

<a id="back2top" class="button" href="#">Back to the top</a>

所以我尝试了这个(href指向页面本身):

<a id="back2top" class="button" href="fr/1_calendar.html">Back to the top</a>

然而,当我点击按钮时,bowser会做两件事:
- 它会到达页面顶部(我想要的)
- 并打开一个新窗口(在IE和Chrome上测试)。

有没有办法可以:
- 覆盖BASE以使href =“#”起作用 - 或阻止第二个窗口打开

2 个答案:

答案 0 :(得分:0)

如果您可以使用javascript,这将有效:

function goToTop(){
    window.scrollTo(0,0)
    return false; //prevent page from reloading
}

你的HTML看起来像:

<a href="javascript:goToTop()">Back to the top</a>

或:

<a onclick="javascript:goToTop()">Back to the top</a>

答案 1 :(得分:0)

如果您使用<base href=...>,则根据定义会影响所有相对网址。它不能被覆盖;阻止它影响URL的唯一方法是使用相对URL。

因此,如果使用<base href=...>,HTML中设置指向文档开头的链接的唯一方法是使用href指定文档的绝对(完整)URL的方法本身。

另一方面,by the spec href标记中的base值必须是绝对网址。因此,无论您的案例中的标记是什么,都将被归类为无证错误处理。