2013-05-17 15 views
7

Vor kurzem stieß ich auf so etwas wie dieseWas bedeutet "javascript: //"?

<a href="javascript://">some link</a> 

habe ich keine Ahnung, was "javascript: //" in diesem Code bedeutet. Bedeutet es ein Protokoll namens "Javascript"?

Jede Hilfe wird sehr geschätzt.

+4

Vielleicht führt es die Anweisung nach dem Doppelpunkt. // ist ein Kommentar, also macht es vielleicht nichts. – antoyo

+1

Für mich sieht es fehlerhaft aus, wenn Sie einen Link zu nop haben möchten, können Sie 'javascript:;' oder 'javascript: void (0);', 'javascript: //' nicht gesehen haben. Was @antoyo sagte, klingt für mich plausibel. – Matthew

+0

http://stackoverflow.com/questions/7755088/href-expression-a-href-javascript-a –

Antwort

11

weiter in sie suchen, ist javascript:// kein gültiges Protokoll. Wenn Sie js über eine Verbindung ausführen möchten, verwenden Sie normalerweise javascript:doSomething();.

In diesem Fall

  • javascript: bedeuten Lassen
  • "Javascript-Code nach dem: ausführen" Und // einen Javascript Kommentar bedeuten lassen.

Es scheint ein Platzhalter zu sein, nichts zu tun, so wie javascript:; tun würde.

So wörtlich: execute // (nichts tun)

+0

Der einzige logische Grund, warum jemand diese Notation absichtlich benutzt hätte, wäre eine Art von * Framework * -ish-Notation, so dass es bestimmte Aktionen/Anfragen auf seine eigene Weise behandeln kann.Kein anderer Grund könnte wirklich logisch sein. –

+0

Eh. Ich bevorzuge eine Verbindung mit einer Klasse und einem echten href und hänge einen onclick-Handler per Skript an. An diesem Punkt kann man tatsächlich die href verwenden, um die beabsichtigte Aktion zu bestimmen, und in vielen Fällen kann es auch dazu gebracht werden, ohne JS zu arbeiten. – cHao

+0

@cHao und diese Freiheit liegt bei dir! Zum Glück funktioniert die Programmierung so, wie Sie es möchten. – sircapsalot

2

es führt zu nirgendwo, da keine URL angegeben ist.

Es gibt einige andere Herangehensweise an das Gleiche:

href="#" fügt einen zusätzlichen Eintrag in den Browser-History (was ärgerlich ist, wenn beispielsweise Back-Zuknöpfen).

href="" die Seite neu geladen

href="javascript:;" scheint keine Probleme zu haben (außer der Suche chaotisch und sinnlos)

+1

Ein Link, der eigentlich nirgends navigieren soll, wird fast immer einen onclick-Handler haben, der die Standardaktion verhindert, also ist der href wirklich egal. Solch eine Verbindung ist allerdings ziemlich schlecht, da es im Prinzip keine Möglichkeit gibt, es ohne JS-fähig zu machen. – cHao