Deaktivieren von browser status bar text

Hintergrund

Moderne Browser tun, Weg mit den Klassiker-status bar und stattdessen zeichnen Sie einen kleinen tooltip an der Unterseite der Fenster, zeigt das link-Ziel bei hover/focus.

Beispiel dieses (unerwünschte, in meinem Fall) Verhalten zeigt der folgende screenshot:

Deaktivieren von browser status bar text


Fragen

  1. Gibt es eine portable Möglichkeit, diese zu deaktivieren tooltips?
  2. Fehlen mir irgendwelche offensichtlichen Nachteile, um dies zu tun, in meiner speziellen situation?
  3. Ist mein Versuch (siehe unten) ein vernünftiger Weg, dies zu erreichen?

Argumentation

Ich arbeite an einer intranet-web-Anwendung und möchte um dieses Verhalten zu deaktivieren für einige Anwendungs-spezifische Aktionen, weil ehrlich gesagt, https://server/# überall aussieht wie ein Auge-Wunde und ist aufdringlich, da in einigen Instanzen meiner Anwendung zieht seinen eigenen status bar in diesem Ort.


Mein Versuch

Ich bin kein web-Entwickler von Beruf, daher ist mein wissen noch sehr begrenzt in diesem Bereich.

Anyway, hier ist mein Versuch mit jQuery:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Target Tooltip Test</title>
    <style>
      a, span.a {
        color: #F00;
        cursor: pointer;
        text-decoration: none;
      }

      a:hover, span.a:hover {
        color: #00F;
      }

      a:focus, span.a:focus {
        color: #00F;
        outline: 1px dotted;
      }
    </style>
    <script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
    <script>
      $(document).ready(function() {
        patch();
      });

      function patch() {
        $('a').each(function() {
          var $this = $(this).prop('tabindex', 0);

          if($this.prop('href').indexOf('#') == -1 || $this.prop('rel').toLowerCase() == 'external') {
            return;
          }

          var $span = $('<span class="a" tabindex="0"></span>');

          $span.prop('data-href', $this.prop('href'));
          $span.text($this.text());

          $this.replaceWith($span);
        });

        $('a[]').click(function() {
          window.open($(this).prop('data-href'));
          return false;
        });

        $('span.a').click(function() {
          location.href = $(this).prop('data-href');
        }).keypress(function(event) {
          if(event.keyCode == 13) {
            location.href = $(event.target).prop('data-href');
          }
        }).focus(function() {
          window.status = ''; //IE9 fix.
        });
      }
    </script>
  </head>
  <body>
    <ol>
      <li><a href="http://google.com" rel="external">External Link</a></li>
      <li><a href="#foo">Action Foo</a></li>
      <li><a href="#bar">Action Bar</a></li>
      <li><a href="#baz">Action Baz</a></li>
      <li><a href="mailto:[email protected]">Email Support</a></li>
    </ol>
  </body>
</html>

patch() ersetzt alle links, die # (d.h., auf die Anwendung bestimmter Maßnahmen in meinem Fall) mit einer span element, macht alle "externen" links öffnen in einem neuen tab/Fenster und scheint nicht zu brechen, benutzerdefinierte Protokoll-handling.

InformationsquelleAutor TjB | 2012-05-06
Schreibe einen Kommentar