Deaktivieren des Textes in der Browser-Statusleiste

Hintergrund

Moderne Browser verzichten auf die klassische Statusleiste und zeichnen stattdessen einen kleinen Tooltip am unteren Rand ihres Fensters, der das Verknüpfungsziel beim Hover / Focus anzeigt.

Ein Beispiel für dieses (in meinem Fall unerwünschte) Verhalten ist im folgenden Screenshot dargestellt:

FragenGibt es eine tragbare Möglichkeit, diese QuickInfos zu deaktivieren?Vermisse ich irgendwelche offensichtlichen Nachteile, um dies in meiner speziellen Situation zu tun?Ist mein Versuch (siehe unten) ein vernünftiger Weg, dies zu erreichen?Argumentation

Ich arbeite an einer Intranet-Webanwendung und möchte dieses Verhalten für einige anwendungsspezifische Aktionen deaktivieren, dahttps://server/# Überall sieht es aus wie eine Augenweide und ist aufdringlich, da meine Anwendung in einigen Fällen an dieser Stelle eine eigene Statusleiste zeichnet.

Mein Versuch

Ich bin kein professioneller Webentwickler, daher sind meine Kenntnisse in diesem Bereich immer noch eher begrenzt.

Wie auch immer, hier ist mein Versuch mit jQuery:

<code><!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[rel="external"]').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>
</code>

patch() Ersetzt alle Links mit# (d. h. anwendungsspezifische Aktionen in meinem Fall) mit aspan Element, öffnet alle "externen" Links in einem neuen Tab / Fenster und scheint die Behandlung von benutzerdefinierten Protokollen nicht zu stören.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage