2015-12-20 120 views
0

我有一個頁面,所有內容都由php函數調用。 哪個函數被調用,頁面上顯示的內容取決於頁面的url。它從url獲取數據並進行更改。 功能例:更改網址並更新頁面內容而無需重新加載

switch($DO){ 
    case 'edit': 
     editorProfile('1'); 
     break; 

    case 'Add': 
     addpeople('1'); 
     break; 

    case 'about': 
      show_about('1'); 
     break; 

     case 'jobs': 
     show_jobs('3',$details['cid']); 
     break; 

    case 'photo': 
     show_photo('3',$details['cid']); 
     break; 

     ?> 

GET變量

$DO=$_GET['dothis']; 

HTML

link 1 <a href="mypage.php?dothis=edit">edit</a> 
    link 1 <a href="mypage.php?dothis=add">add</a> 
    link 1 <a href="mypage.php?dothis=about">about</a> 
    link 1 <a href="mypage.php?dothis=photo">photo</a> 

目前,它正在完美,但該頁面被重新加載。 我想要更改網址的內容,更新內容但不重新加載整個頁面。

我知道這可以這樣做:

window.history.pushState("object or string", "Title", "/new-url"); 

但我不知道如何實現這一點,什麼樣的變化具有在舊的瀏覽器(情況做在舊的瀏覽器的情況下,如果這是不支持頁面剛剛重新加載)。

+0

Ajax是無需重新加載的動態更改的最佳選擇! –

+0

我不確定你是否可以更改'url' *(我假設你的意思是在地址欄中...)*。 – Rasclatt

+0

yes ........... –

回答

-1

檢查wiselinks我使用它,並認爲它是驚人的。 https://github.com/igor-alexandrov/wiselinks。它是一個jquery ajax庫,可以處理任何可以拋出的東西。我將它用於我的大部分網頁,因爲您可以創建超級快速瀏覽和seo友好的ajax網站。我認爲它應該對你所需要的也有好處。它將改變瀏覽器和標題中的網址,而無需重新加載頁面。

-1

您試圖實現的功能不能用PHP完成。它會每次重新加載。

您必須使用Ajax異步執行請求並避免重新加載。

http://www.w3schools.com/ajax/

關於URL,我不知道,如果你可以改變它無需重新加載,即使在阿賈克斯。

+0

window.history.pushState(「object or string」,「Title」,「/ new-url」);看到這 –

+0

我不確定,現在我確信它是可能的:) Thx的信息。 – Lambic

相關問題