【发布时间】:2011-04-04 04:31:52
【问题描述】:
当链接鼠标悬停状态时,状态栏会在状态栏中显示链接的位置,如下图所示... 有没有办法改变\覆盖它以显示一些所需的文本......
【问题讨论】:
标签: javascript html hyperlink overriding anchor
当链接鼠标悬停状态时,状态栏会在状态栏中显示链接的位置,如下图所示... 有没有办法改变\覆盖它以显示一些所需的文本......
【问题讨论】:
标签: javascript html hyperlink overriding anchor
出于安全原因(网络钓鱼),大多数浏览器默认会阻止更改状态行的尝试。
无论如何你都可以试试:
<a href="link" onmouseover="window.status='your text';" onmouseout="window.status='';">link here</a>
第二种方法:
<a href="your text" onclick="location.href='your url';return false">link here</a>
缺点:例如,您无法使用 Ctrl + 单击在新的 tabblad / 窗口中打开它。
【讨论】:
Most browsers will block attempts to change the status line by default for security reasons,因为它是真的。
在ie9中方法1没有任何作用。方法 2 也破坏了隐藏信息的目的,将活动文件路径放置在状态栏中,而不是通常的插值 uri:
C:\\\filepath\server\local\whatever
也许有办法使用方法2。可能是代理链接文件位置拦截。例如:
<a href="nothinghere" onclick="location.href='anylink';return false">click here</a>
其中 c:\links\anylink 链接到 c:\private\privatefile ...?
进一步:'Con:无法在新标签页/新窗口中打开链接' ... javascript?
【讨论】:
这应该可以工作
<a href="/www.example.com/contact.html" onmouseover="window.status='Contact'" onmouseout="window.status=''">
【讨论】:
如果您必须更改状态,这里有一个可行的跨浏览器解决方案:
<a href=".: This a link" onClick="window.location='myurl.html';return false">
缺点是它需要 Javascript
将“这是一个链接”更改为所需文本”并将“myurl.html”更改为窗口文件的路径。
如果您需要使用“_blank”打开一个 url,您可以创建一个打开新窗口的函数。
不幸的是,“.:”必须出现在文本的前面,否则它将呈现为 url。在 IE9 中测试。 (Firefox 和其他浏览器的呈现方式不同
对于其他浏览器,您也可以使用“链接:”,然后使用您的网址。在 Firefox 中测试。
注意:出于安全原因,您只能更改 Opera(以及可能的 IE 6 及更早版本)的 window.status,如其他人的建议中所述。
【讨论】:
当我们下次尝试向页面输入更多数据时,onmouseover 或 JavaScript 将从博客站点的 ckeditor 中删除。所以我想,这个方法应该在我的火狐浏览器中测试过。
【讨论】: