Frage

Wie können wir den Text im Browser-Statusleiste angezeigt ändern mit Hilfe von JavaScript (oder jQuery)?

War es hilfreich?

Lösung

jQuery ist nicht notwendig, dies zu tun:

<script>
function writetostatus(input){
    window.status=input
    return true
}
</script>

Die meisten neueren Browser verhindern, dass Sie den Text in der Statusleiste von JavaScript zu setzen.

Andere Tipps

Dies kann getan werden, . Google Search es tut, was zu sehen ist, wenn Sie über einen Google Link bewegen, in der Statusleiste zeigt die zugrunde liegende Website:

 image description hier

Doch wenn Sie darauf klicken, es bringt Sie zu einem Ort und User-Agent-abhängige URL, die wie https://www.google.com.sg/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CC8QFjAAahUKEwi4lP-Z4_rIAhVLk5QKHXRLAe8&url=https%3A%2F%2Fwww.example.com%2F&usg=AFQjCNFEbIRqDC65KFpmuak0aXKmnzjKVQ&bvm=bv.106923889,d.dGo . Die URL funktioniert Google Tracking und so weiter, bevor Sie werden auf die https://www.example.com. Sie können diese mit Network Inspector einfach testen mit " erhalten log ".

Sie sind mit einem Hacky Hack , aber es funktioniert in allen Browsern .

Der Trick zu erkennen ist, dass wir die Statusleiste fast alles einstellen können nur HTLM des a href (kein CSS noch JavaScript erforderlich) verwenden. Alles, was wir brauchen, ist der Browser des Parser zu denken, dass der href Wert eine gültige URL zu verleiten und es wird es angezeigt werden soll.

Versuchen Sie, diesen Schnipsel ausgeführt wird:

<a href="http://.# this is p͕͓͔͕͓͔͕͓͔͕͓͔͕͓͔͕͓͔͕͓͔͕͓͔͕͓͔͕͓͔͕͓͔̐̑̓̐̑̓̐̑̓̐̑̓̐̑̓̐̑̓̐̑̓̐̑̓̐̑̓̐̑̓̐̑̓̐͜͜͜͜͜͜͜͜͜͜͜͜‌​̴̵̶͕͓͔͕͓͔͕͓͔͕͓͔̖͕͓̖̱̲̳̖̖̖̖̖̖̖͕̑̓̐̑̓̐̑̓̐̑̓̑̒̓̔̐̒̓̔̒̓̔̒̓̔̒̓̔̒̓̔̒̓̔̒̓̔̒̓̔̒̓̔̐̕̚͜͜͜͜͜‌​͓͔̖͕͓͔̖͕͓͔̖͕͓͔̖͕͓͔̖͕͓͔̖̑̓̑̒̓̔̐̑̓̑̒̓̔̐̑̓̑̒̓̔̐̑̓̑̒̓̔̐̑̓̑̒̓̔̐̑̓̑̒̓̔̕̚̕̚̕̚̕̚̕̚̕̚͜͜͜͜͜‌​͕͓͔̖͕͓͔̖̐̑̓̑̒̓̔̐̑̓̓̓̓̓̓̓̑̒̓̔̕̚̕̚͜͜owerful because ━Σ(゚Д゚|||)━ symbols !@)(*#&$^%</even htlm> or lorem ipsum in all scripts Лорем ипсум Lorem存有 ငါ့ရဲ့ဇာတ်မြင့် घरՏուն Дома ലോറെൻ  ഇപ്സം درமுகப்புЛорем ипсумలోלורם איפסוםరెం ఇప్సమ్ მთავარი હોમ לורם איפסוםלורם איפסום Forsíða Loremのイプサム ಮುಖಪುಟ ទំព័រដើម 가 lorem ipsum의 ຫນ້າທໍາອິດ Տուն আর্কাইভ">Hover this link (do not click) and observe the browser's status bar.</a>

Chrome-Ausgang (auf das Bild klicken, um zu maximieren): (v46.0.2490.80 m)

 image description hier

Firefoxs Ausgang: (v42.0)

 image description hier

IE-Ausgang: (v11.0.9600.17905 Update-Versionen 11.0.21 (KB3065822))

 image description hier

Opera Ausgang: (v33.0.1990.58 stable)

 image description hier

Seamonkey der Ausgabe: (V2.38)

 image description hier

Avant-Ausgang: (v Ultimative 2015 Build 28)

  • IE 11 Motor:

     eingeben Bild Beschreibung hier

  • IE kompatibel Motor:

     eingeben Bild Beschreibung hier

  • Chrome-Engine:

     eingeben Bild Beschreibung hier

  • FireFox Motor:

     eingeben Bild Beschreibung hier

Fackel der Ausgabe: (v42.0.0.10546)

 image description hier

Baidu Ausgang: (v43.19.1000.119)

 image description hier

Maxthons Ausgang: (v4.4.8.1000)


Außerdem ist es nicht notwendig, # (die Fragmentbezeichner ) zu verwenden. Browser wird einen Text wie http://some.message.here./and_more_message_here als gültige URL betrachten. Weirder Strings gültig angesehen werden könnte je nach Browser:

  1. <a href="http://a.b.c.d/test_symbols_!#$%^&*()[]{};:'&quot;.><,//=+``~">

    (Chrome, FireFox, IE, SM, Taschenlampe, Baidu, Maxthon, Avant IE11, Avant IE Compat, Avant Chrome, Avant Firefox.)

    (Namen werden aufgelistet für Browser mit dem erwarteten Ausgang werden die Namen striked ( „ Beispiel “) für Browser ohne Statusleiste ausgegeben und Namen sind unterstrichen ( „Beispiel“) für Browser mit unerwartetem Ausgang / Verhalten. mit Browser-Versionen getestet wie die, die gleichen oben aufgeführten).

  2. <a href="http://a.b.c.d/test some spaces">

    (Chrome, FireFox, IE, SM, Taschenlampe, Baidu, Maxthon, Avant IE 11, Avant IE Compat, Avant Chrome, Avant Firefox.)

  3. <a href="http://test some . spaces in domain part/a_b_c_d_e">

    (Chrom, FireFox , IE, SM , Taschenlampe, Baidu, Maxthon, Avant IE 11, Avant IE Compat, Avant Chrome, Avant Firefox )

  4. <a href="http://test some . spaces in domain part without slash">

    (Chrom, FireFox , IE, SM , Taschenlampe, Baidu, Maxthon, Avant IE 11, Avant IE Compat, Avant Chrome, Avant Firefox )

  5. <a href="http://test_without_slash_and_dots">

    (Chrome, FireFox, IE, SM, Taschenlampe, Baidu, Maxthon, Avant IE11, Avant IE Compat, Avant Chrome, Avant Firefox)

  6. <a href="http://a.b.c:port_with_letters_test">

    ( Chrome , FireFox , IE , SM , Fackel , < s> Baidu , Maxthon , Avant IE11 , Avant IE Compat, Avant Chrome , Avant Firefox )

  7. <a href="http://http://double.http.test">

    (Chrome, FireFox, IE, SM, Taschenlampe, Baidu, Maxthon, Avant IE11, Avant IE Compat, Avant Chrome, Avant Firefox)

  8. <a href="http://test @ with spaces">

    (Chrom, FireFox , IE , SM , Taschenlampe, Baidu, Maxthon, Avant IE 11, Avant IE Compat, Avant Chrome, Avant Firefox )

  9. <a href="http://test:password@ with spaces/">

    (Chrom, FireFox , IE , SM , Taschenlampe, Baidu, Maxthon, Avant IE 11, Avant IE Compat, Avant Chrome, Avant Firefox )

  10. <a href="http:// test : password @with.spaces/">

    (Chrome, FireFox, IE , SM, Taschenlampe, Baidu, Maxthon, Avant IE 11, Avant IE Compat, Avant Chrome, Avant Firefox)

  11. <a href="http://test@double@a.b.c.d">

    (Chrome, FireFox, IE , SM, Taschenlampe, Baidu, Maxthon, Avant IE 11, Avant IE Compat, Avant Chrome, Avant Firefox)

  12. alle Tests Saiten wiederholen oben, mit http:// durch https:// ersetzt, ftp://, about://, chrome://, file://, foobar:// und etc.

Wir können sehen, dass, wenn der Browser die Zeichenkette nicht betrachtet, eine gültige URL zu sein, wird es durch die Anzeige keine Statusleiste ordnungsgemäß fehlschlagen, so dass kein Schaden angerichtet. (Abgesehen davon, dass es sieht aus wie es einige Fehler vor sich geht für Avant IE Compat mit dem Test-String "http://a.b.c:port_with_letters_test".)


Ankommen der Browser-Statusleiste unserer gewünschte Zeichenfolge anzuzeigen ist nur der erste Schritt. Der zweite Schritt ist der Browser, um zu verhindern das Laden der Seite, wenn der Benutzer auf den Link klickt.

Dies kann leicht getan werden mit return false:

<a onclick="return false" href="http://some.message.here./and_more_message_here">this link will not load</a>

oder:

<a onclick="return f()" href="http://some.message.here./and_more_message_here">this link will not load</a>
<script>
  function f() {
    return false;
  }
</script>

Vor zwei Schnipsel werden getestet, auf Chrome zu arbeiten, FireFox, IE, SM, Taschenlampe, Baidu, Maxthon, Avant IE11, Avant IE Compat, Avant Chrome, Avant Firefox.


Der letzte Schritt ist die Verwendung window.location oder window.open das Verhalten von a href zu imitieren. Es kann inline erfolgen: ( Online-Test )

<!doctype html>
<a onclick="location='http://example.org'; return false" href="https://some.message.here./and_more_message_here">same tab</a>
<br><a onclick="window.open('http://example.org'); return false" href="https://some.message.here./and_more_message_here">new tab</a>


oder mit return func(): ( Online-Test )

<!doctype html>
<a onclick="return f1()" href="http://some.message.here./and_more_message_here">same tab 2</a>
<br><a onclick="return f2()" href="http://some.message.here./and_more_message_here">new tab 2</a>
<script>
  function f1() {
    location = 'http://example.org';
    return false;
  }

  function f2() {
    open('http://example.org');
    return false;
  }
</script>

oder inline mit setTimeout: ( Online-Test )

<!doctype html>
<a onclick="setTimeout(function(){location='http://example.org';},1); return false" href="https://some.message.here./and_more_message_here">same tab 3</a>
<br><a onclick="setTimeout(function(){window.open('http://example.org');},1); return false" href="http://some.message.here./and_more_message_here">new tab 3 (doesn't work on Avant IE11 and Avant IE Compat if this link is HTTP; works if it is HTTPS or FTP)</a> 


oder mit return func() mit setTimeout: ( Online-Test )

<!doctype html>
<a onclick="return f1()" href="http://some.message.here./and_more_message_here">same tab 4</a>
<br><a onclick="return f2()" href="http://some.message.here./and_more_message_here">new tab 4 (doesn't work on Avant IE11 and Avant IE Compat if this link is HTTP; works if it is HTTPS or FTP)</a> <!-- hadn't tested this with sourcepage=HTTP. only tested with sourcepage=HTTPS and sourcepage=localwebpage -->
<script>
  function f1() {
    setTimeout(function() {
      location = 'http://example.org';
    }, 1);
    return false;
  }

  function f2() {
    setTimeout(function() {
      open('http://example.org');
    }, 1);
    return false;
  }
</script>

Vor zwei Schnipsel sind auch Avant IE Compat (mit Vorbehalt angegeben im Code) arbeiten auf Chrome, FireFox, IE, SM, Taschenlampe, Baidu, Maxthon, Avant IE11 (im Code angegeben mit Vorbehalt) getestet, Avant Chrome, Avant Firefox.

An wen kann es eine einfache Notiz spezifisch für IE betreffen :

Bis IE6 und einschließlich es Sie tun können:

window.status = "Hello, I'm a custom status bar note.";

Aber nach IE6 (getestet IE7 / 8) Sie es auf die gleiche Art und Weise tun, aber Sie müssen auch die Browser-Sicherheitsoptionen anzupassen, indem die Funktion einschalten zu müssen: Extras - Internetoptionen - Sicherheit - Stufe anpassen:

alt text

Zunächst einmal ist seine Erscheinung nicht einheitlich Browser, und zweitens, dass die Funktionalität hat für eine lange Zeit deaktiviert gewesen standardmäßig auf den meisten Browsern aus Sicherheitsgründen.

Wie auch immer, die Javascript für das zu tun ist eine einfache window.status = "my text"

Verwendung

window.status = "whatever you want"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top