當檢查實時郵件URL時,我發現他們使用#
而不是Query string
。使用哈希(#)而不是查詢字符串有沒有任何優勢
https://bluxxx.mail.live.com/#n=xxxxxxxxx&fid=x
當#
被刪除它是一個404錯誤。有沒有使用#代替查詢字符串的優勢。它可以在PHP應用程序中實現。
當檢查實時郵件URL時,我發現他們使用#
而不是Query string
。使用哈希(#)而不是查詢字符串有沒有任何優勢
https://bluxxx.mail.live.com/#n=xxxxxxxxx&fid=x
當#
被刪除它是一個404錯誤。有沒有使用#代替查詢字符串的優勢。它可以在PHP應用程序中實現。
哈希URL常常被用來代替實際返回到另一個頁面的服務器(也就是說,頁面加載被Javascript攔截)。
散列和任何之後通常不向服務器發送...
想象以下場景......
<a id="SomeLink" href="#DoSomething">
你再附上一個onclick使用JavaScript ...
$("#SomeLink").click(function() {...})
如果該點擊功能不是return false
,則即使對服務器的請求沒有b,網址在其末尾也會有一個#DoSomething
een提出。
它也可以用作操作歷史記錄的佔位符,因此您可以更好地控制後退/前進按鈕(或許多其他客戶端javscript技巧)。以history.js爲例。
感謝您的信息,非常有幫助。 @basic –
URL的哈希部分主要用於客戶端處理。你的javascript可以讀取它,如果你的頁面上有一個指定的錨點,它將滾動到該內容。瀏覽器在加載帶有散列的URL時不會將URL的散列部分發送到服務器,因爲查詢字符串被髮送到瀏覽器,因此可被PHP訪問。
謝謝。 @@穆奈姆 –
是不是隻是頁面上某個元素的class屬性。例如,如果在頁面底部定位div class =「xx」,則可以觸發site.com/#xx指向該div。所以這只是客戶端 –
謝謝。 @ royal-bg –