javascript - 删除/移动 Google Chrome 左下角的状态栏(链接地址栏)

标签 javascript jquery html css google-chrome

我正在开发一个在左下角设计有关键导航元素的网站。在谷歌浏览器中,左下角有一个状态栏,当您将鼠标悬停在页面上的链接上时会出现该状态栏,并显示该页面的 URL。不过,如果你离得足够近,它就会移动到右下方。这会妨碍此导航元素。

我的问题是可以使用 CSS、HTML 或 JavaScript 删除/移动(右下方)吗?请参阅下面的一些注释。

  • 理想情况下,我想将其永久移至右侧。
  • 我知道这是必需的/最佳实践,原因有很多,所以我想避免删除。
  • 我知道我可以从链接中删除 href 并使用 onClick 事件,这可能是一种可行的解决方法,但在这种情况下向右移动是更好的解决方案。
  • 我也确信,关于将此导航元素放在左下方的问题存在大量争论,但我正在寻找在我必须使用的参数范围内的解决方案。

谢谢

最佳答案

Chrome 从您的链接中读取 HREF 属性以在状态栏中显示该链接。

因此,如果您从 A 标签中删除 HREF,状态栏将不会显示。但是,该链接也不起作用,:)。这就是为什么您可以在 MouseOver 上创建一个事件处理程序来解决这个问题并保持您的链接正常工作。

$("body").on('mouseover', 'a', function (e) {
    var $link = $(this),
        href = $link.attr('href') || $link.data("href");

    $link.off('click.chrome');
    $link.on('click.chrome', function () {
        window.location.href = href;
    })
    .attr('data-href', href) //keeps track of the href value
    .css({ cursor: 'pointer' })
    .removeAttr('href'); // <- this is what stops Chrome to display status bar
});

您可能会遇到额外的问题,例如禁用的链接或具有其他事件处理程序的链接。在这种情况下,您可以将选择器调整为 'a:not(.disabled)'或者也许只是将此委托(delegate)添加到具有 css 类 ".disable-status" 的已知元素中,因此您的选择器将是:"a.disable-status" .

关于javascript - 删除/移动 Google Chrome 左下角的状态栏(链接地址栏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23800165/

相关文章:

html - IIS、ColdFusion 或 TomCat 会在大约 4MB 时切断页面输出 - 我需要帮助来确定哪个设置限制了该输出?

html - css 中的 <div> 是否可以留边距?

javascript - 带有错误 SSL 证书的站点上的 Jquery Ajax

javascript - 围绕轴旋转 css 元素

javascript - 相同的 css 和 HTML 代码,但在 2 个页面上看起来不同

javascript - 在窗口调整大小时调用多个函数

javascript - lodash过滤器返回无法读取null的属性 'indexOf'

javascript - 在 Angular2 中使用生成的 Swagger TypeScript Rest Client

jquery - 哪个版本的 jQuery 和 jQuery Mobile 可以一起工作?

javascript - 脚本未创建 <a> 元素