2016-05-12 166 views
0

我對JavaScript更新,我正在開發一個網站,我希望能夠在點擊某個網站的某些元素時切換網址,而無需重新加載頁面。如何使用JavaScript更改頁面URL

我希望它能像http://www.itemcycle.com一樣工作,當你點擊鏈接出售你的iPad或iPhone,然後選擇你的模型。它顯示不同的框,當你點擊它們時,它會更改URL,但我知道它不會加載新頁面,因爲它不會將我滾動回頂部。

在此先感謝您的幫助!

+1

可能重複[修改URL而不重新加載頁面](http://stackoverflow.com/questions/824349/modify-the-url-without-reloading-the-page) – WirelessKiwi

回答

1

你看到的是一個單頁的應用程序

一個單頁的應用程序(SPA),也被稱爲單頁界面 (SPI),是適合於Web應用程序或網站單個網頁 ,其目標是提供類似於 桌面應用程序的更流暢的用戶體驗。

它將通過使用某些JS框架來實現。 AngularJS是流行的。

+1

它可以實現很多其他框架,或沒有框架。 – Alexis

+0

@Alexis是的,編輯我的答案。我是一個大角球迷:) –

0

試試這個:

window.location.href="/yourUrl"; 
0

HTML5引入了history.pushState(),它允許您添加和修改歷史條目。

window.history.pushState('page1', 'Title', '/page1.php'); 

這可能值得一看。

0

有2周主要的方式將用戶重定向,每個都有它的權衡:

  1. 您可以通過改變window.location.href值用戶到一個新的頁面重定向。因此,例如window.location.href='https://example.com';會將用戶重定向到https://example.com。注意這會做一個硬頁面重新加載,所以頁面實際上會重新加載。

  2. 要更改url路徑而不將用戶重定向到新頁面,您可以使用history.pushState。做這樣的事情:

    history.pushState({}, "page 2", "/page2");

    會將該網址從https://example.com改變https://example.com/page2和滾動的立場不會改變。然後,您可以收聽history.pushState的更改並相應地更新頁面,讓您可以查找效果。請注意,您無法更改網域(即您不能從https://example1.comhttps://example2.com),但在正面,網頁實際上不會重新加載。

正如其他人所指出的還有,讓你可以做這種類型的事情各種框架,但這些框架正在利用我上面描述的技術。

相關問題