在我的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 =“#”起作用
- 或阻止第二个窗口打开
答案 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
值必须是绝对网址。因此,无论您的案例中的标记是什么,都将被归类为无证错误处理。