2009-12-28 104 views
0

我有一个关于href链接的问题,试着用google搜索它,但是在这方面找不到很多信息。我有这样的HREF链接:href链接到#问题

<a href='#' onclick='openSerialWindow();return false;'><h:outputText value="#{i18n.regFindSerialNumber}" /></a> 

以前#由page.htm,它应该链接到并导致一个错误,当用户右键点击该链接并选择“在新窗口打开/替换标签'。使用#替换page.htm后,它可以正常工作,甚至可以在r/c中打开它,并在新的选项卡/窗口中打开。

如果用户只需点击链接上面的两个方法工作(#和page.htm),所以我想知道什么是#的真正含义?

谢谢。

回答

2

#是一个锚点散列并指向当前页面的顶部。

您可以在文档中创建锚点,如下所示:<a name='anchor'></a>然后通过将#anchor添加到页面的URL来跳转到它们。浏览器将跳转到该位置而不重新加载。

如果链接到page.htm产生了错误,那么page.htm是不正确的链接。

href属性只有在没有Javascript的情况下作为回退。 Javascript的return false;阻止链接的执行。链接到#意味着如果javascript被关闭,则通过单击链接将不会发生任何事情,除非浏览器将跳转到页面的顶部。

+2

此外,除非**需要** javascript的工作(例如ajax链接),你应该总是使用有效的网址作为'href'和jsut从你的onclick返回false - 这样他页对于那些因为某些原因没有JS的人而言会降级。 – prodigitalson 2009-12-28 20:52:45

+0

链接到page.htm只有当用户右键单击并选择'在新标签页/窗口中打开'时,才会出现404错误,如果链接是简单的点击就没有错误,它工作得很好。而用#它可以同时工作。 – msharma 2009-12-28 21:15:00