2013-05-17 30 views
7

は最近、私は私が「// javascriptのは、」何見当もつかないこの"javascript://"とはどういう意味ですか?そのコードには意味:

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

のようなものに出くわしました。それは "javascript"という名前のプロトコルですか?

ご協力いただきまして誠にありがとうございます。

+4

(何もしない)//を実行多分それはコロンの後に命令を実行します。 //はコメントですので、何もしません。 – antoyo

+1

私には、javascript:;や 'javascript:void(0);'は、 'javascript://'を見ていないので、間違っています。 @antoyoが私にとって説得力のある音を言ったのは何か。 – Matthew

+0

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

答えて

11

はさらにそれに探しを持っていないようです、javascript://は有効なプロトコルではありません。

通常、リンク経由でjsを実行する場合は、javascript:doSomething();を使用します。この場合

  • javascript:
  • ":後Javascriptのコードを実行" と//はJavascriptコメントを意味してみましょう意味してみましょう。

javascript:;と同じように、何もしないプレースホルダのようです。

だから、文字通り:

+0

誰かが意図的にこの記法を使用している唯一の論理的な理由は、* Framework * -ish表記法なので、特定のアクション/要求を独自の方法で処理できます。それ以外の理由は本当に論理的ではありません。 –

+0

Eh。私は、クラスと実際のhrefとのリンクを持ち、スクリプトを介してonclickハンドラを付加する方が好きです。その時点で、実際にhrefを使用して目的のアクションを判断することができ、多くの場合、JSなしでも動作するようにすることができます。 – cHao

+0

@cHaoとその自由はあなたにあります!ありがたいことにプログラミングはあなたが望むように動作します。 – sircapsalot

2

URLが指定されていないため、どこにもつながりません。

同じ事に他のいくつかのアプローチがあります。

href="#"(例えばバックbuttoningしたときに迷惑です)ブラウザの履歴に余分なエントリを追加します。

href=""リロードページ

href="javascript:;"は(汚いと意味のない探し以外の)あらゆる問題

+1

実際にはどこにでも移動することを意図していないリンクには、ほとんど常にデフォルトのアクションを防ぐonclickハンドラがあります。だからhrefは本当に重要ではありません。しかし、基本的にはJSを有効にすることなく動作させる方法はないので、このようなリンクはむしろうんざりです。 – cHao

関連する問題