你好
因此,在制作網站時,我注意到當我使用“a”標簽在 HTML 中的部分之間重定向時,我得到的鏈接是“www.example.com#section”。
這是代碼:
<a href="#section">Change Section</a>
<section class="section">
<p> Hi </p>
</section>
我希望鏈接為“www.example.com/section”
我想知道如何進行此更改。
uj5u.com熱心網友回復:
這就是 URL 的作業方式。
https://確定如何請求資源www.example.com確定從哪個服務器請求它/some/path/?query=optional確定向服務器請求什么#fragment在客戶端處理并確定瀏覽器在頁面上滾動到的位置
沒有一種明智的方法可以將發送到服務器的 URL 部分視為瀏覽器用來確定滾動到何處的部分。
如果您想沿著不明智的路線前進……
- 使服務器端代碼為
/path您想要表示同一頁面的一部分的每個人提供相同的 HTML 檔案 - 將主 URL 標記為規范
- 添加一些客戶端JS:
- 等待DOMContentLoaded 事件
- 讀取位置以獲取路徑
- 使用一些內部邏輯來確定滾動到哪個元素
- 使用scrollTo滾動到它/Element/scrollTo
- 添加更多的客戶端 JS:
- 偵聽內部鏈接上的點擊事件
- 在不離開當前(相同)頁面的情況下使用
pushState和preventDefault更改 URL href從被點擊的鏈接中讀取 URL- 與步驟 3.3 和 3.4 相同
- 添加更多的客戶端 JS
- 監聽popstate 事件
- 獲取用戶要回傳的 URL
- 與步驟 3.3 和 3.4 相同
… 現在要使 URL 以非標準方式運行需要做很多作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/440306.html
標籤:html
