2008年5月10日 星期六

Student Handbook Main Page Design

在User方面看,整個Student Handbook只會有兩個頁面: Login Page和Main Page。Login Page整個頁面都是登入的東東,其他工作都會在Main Page進行。現在我們有兩個選擇。

  1. 每頁都要載入相同的標題和目錄,不同的是中間的內容。如何實作:
    1. Main Page會載有標題和目錄,中間的內容是以get收到的內容而有所不同。
    2. 中間的內容以如下的php碼實作:
      include($page);
    3. 所有的get和post都可以在自己的php內收到,不用修改Main page來處理。
  2. 標題和目錄只載入一次,只變更中間的內容。如何實作:
    1. Main Page會載有標題和目錄,中間的內容是以呼叫javascript的goPage(pageURL,{method: get/post, parameters: })來達成。
    2. 所有的get和post都可以在自己的php內收到,不用修改Main page來處理。
    3. 你們要在form tag加入如下的code:
      如果用get:
      <form ... onsubmit="submitForm('action.php',false,this)">
      如果用post:
      <form ... onsubmit="submitForm('action.php',true,this)">
    4. 超連結要改為:
      <a href="#" onclick="goPage('test.html',null)">test page</a>
    5. 變更的內容以如下的javascript實作:
      function goPage(pageURL, submitParms){
           new Ajax.Updater('mainarea', pageURL, submitParms==null?({method: get}):submitParms);
           return false;
      }
    6. submitForm程式碼如下:
      function submitForm(pageURL, postMethod, form){
           if(postMethod){

                goPage(pageURL , {method: "post", parameters: form.serialize()});

           }else{

                goPage(pageURL+"?"+form.serialize() , {method: "get"});

           }

           return false;

      }

  3. 兩種實作方法比較:
    1. 方法1在大多數的網站使用中,因為在沒有AJAX的時代,要做到一致的使用介面,只有不停把相同的東西重新載入。不過因為他們多數使用圖片才不覺有重新載入的感覺。
    2. 方法2由於是較新的科技,使用的地方不多,暫時只看到Foum會用AJAX來檢查註冊帳號名稱、瀏覽同一主題的回應等。
    3. 方法1的優點是設計簡單,但是伺服器的流量會較高,因為要載入重覆的資料。
    4. 方法1的缺點是設計較複雜,但是伺服器的流量會較低,因為只須把不同的地方載入便可以了。
    5. 伺服器的流量低有何好處?
      1. 減輕伺服器負荷,可應付更多人流。
      2. 佔用的頻寬少,縮短等候時間。56K上網都可以有華麗介面。

沒有留言: