2012-02-02 23 views
0

在我的HTML,我目前使用下面的BASE标记来简化文件管理:“回到顶端”按钮,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> 

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

有没有一种方法,我可以:
- 无论是覆盖基础,这样的href =“#”的作品
- 或防止第二窗口的打开

+0

看起来''在这里做得比弊大于利。你不能摆脱它吗?无论如何,新窗口问题可以通过使用“页面顶部”链接中的'target = _top'来解决,而无需使用Javascript。 – 2012-02-02 19:31:20

+0

这是一个有趣的使用基地的利弊讨论:http://stackoverflow.com/questions/1889076/is-it-recommended-to-use-the-base-html-tag – skybondsor 2012-02-02 19:31:31

+0

感谢这些有趣的评论。我会试图摆脱基地。但在我的情况下,这是一个很好的方法来保持一个共同的“图像”目录以及包含网页本身的多个目录:“website_en”,“website_fr”等。 – tos 2012-02-03 08:50:09

回答

0

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

因此,如果使用<base href=...>,HTML中建立到文档起始处的链接的唯一方法是使用指定文档本身的绝对(完整)URL的文本。

另一方面,by the spechrefbase标记必须是绝对URL。因此,无论您的案例中的标签是否被归类为无证错误处理。

+0

我明白了。关于相对的href,我知道它,但我正在一个受控的环境中运行。迷你网站是Android应用程序的帮助部分。为了稳定性,我会尽量找到更好的方法。 – tos 2012-02-03 08:47:00

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> 
+0

我目前没有使用JavaScript。并且不愿意给我们。 – tos 2012-02-03 08:31:13