2015-07-10 54 views
1

什麼時候應該有地址#以及何時應該爲每個頁面或頁面的一部分分別設置地址。何時我應該使用#地址?

例如

https://ca.news.yahoo.com/nick-hornby-boys-read-telling-101350029.html 

我知道有時候我們需要有#,例如,當我們調用JavaScript方法來顯示一個燈箱(模式),但一些網站在其獨特的地址,使用它他們的頁面。

例如 icloud使用它來顯示其模式,當你點擊create one now鏈接。

https://www.icloud.com/# 

然而,正如我說的一些網站正在使用的方法爲他們的網頁唯一的地址。

例如以下地址顯示的是icloud網站的單個頁面。

https://www.icloud.com/#find 

這是否正確遵循我們獨特的類似於icloud的網站有網站的網頁地址爲#的這種做法?

我不是在問icloud.com這只是一個例子。我的意思是,如果你去www.icloud.com/#find頁面,你會發現它不是一個單一的頁面網站,因爲只有一個標題,登錄頁面和頁腳。那麼他們爲什麼使用#find而不是像find.html?有什麼特別的原因令我失蹤?

回答

1

URL片段(#whatever)是解決文檔的重要部分的方法。你應該記住,這些是從不發送到服務器或看到服務器,所以你不能真正使用它們在服務器端來區分網址。您可以使用它們來製作靜態頁面的部分地址,或者使用適當數量的JS扭曲,將它們用作單頁面應用程序中可尋址導航的基礎。一些JS框架相當明顯地依賴於這個框架,儘管現在大多數瀏覽器都支持歷史API,但它開始走出風格。

+0

這是正確的,但正如我asid一些網站使用它作爲他們的網頁的唯一名稱以icloud網站#find爲例。他們的理由是什麼? – Jack

+0

@Jack這是一種構建單頁應用程序的方法。頁面JS拾取片段並使用它來發送適當的AJAX請求,然後返回該AJAX請求來呈現頁面在同一頁面上時需要顯示的任何內容。 – pvg

+0

這就是我所猜測的,但看看iclound.com/#find它似乎只是有一種數據。這是否意味着他們有一個模板,並基於此#包含地址填充模板? – Jack

相關問題