2013-05-17 58 views
7

最近我碰到東西就這樣「javascript://」是什麼意思?

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

我不知道是什麼「的javascript://」在該代碼表示​​。它是否意味着名爲「javascript」的協議?

任何幫助,非常感謝。

+4

也許它執行冒號後的指令。 //是一個評論,所以也許它什麼都不做。 – antoyo

+1

對我來說,它看起來是錯誤的,如果想要一個鏈接到nop你可以做'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符號,因此它可以用它自己的方式處理特定的動作/請求。沒有其他理由真的是合乎邏輯的。 – 2013-05-17 15:51:17

+0

Eh。我更喜歡有一個類和一個真正的href的鏈接,並通過腳本附加一個onclick處理程序。此時,人們可以使用href來確定預期的操作,並且在很多情況下,它可以在沒有JS的情況下工作。 – cHao

+0

@cHao那自由就在於你!幸運的是,編程以你想要的方式運行。 – sircapsalot

2

由於沒有指定網址,它導致無處。

還有一些其他的方式做同一件事:

href="#"增加了額外的條目添加到瀏覽器的歷史(這是煩人當例如背鈕釦)。

href=""重新加載頁面

href="javascript:;"似乎不會有任何問題(不是尋找凌亂,毫無意義等)

+1

實際上並不打算在任何地方導航的鏈接也幾乎總是會有一個onclick處理程序,它可以防止默認操作,所以href真的沒關係。但是,這樣的鏈接相當糟糕,因爲基本上沒有辦法在沒有啓用JS的情況下使其工作。 – cHao