[jQuery] Lazy與Lazy Load

Posted by yoren on 2009年 04月 30日

Minimalist jQuery: 11 useful plugins under 4K

在這篇11個小於4K的好用jQuery外掛裡面,介紹了Lazy,它可以讓瀏覽器只下載有用到的jQuery外掛檔案,以減少HTTP request(請開啟範例網頁後,使用Firebug觀察網路)。用法是:

$.lazy('jquery.elastic.js','elastic');
$.lazy('jquery.validation.js','validate');
$.lazy('jquery.ajaxdotnet.js','ajaxDotNet');

// 照常使用外掛
$('textarea').elastic();

當然這類用途的外掛並不新穎,重點是Lazy非常地輕巧,只有不到1K的大小。

有意思的是在Google這個外掛的時候,另外發現了jEditable作者的另一個作品:Lazy Load(Image Lazy Loader)。它可以加速瀏覽器讀入整個網頁的速度,讓瀏覽器在顯示可視範圍內的圖片後,就算完成網頁的載入;當使用者拉動捲軸繼續瀏覽網頁的其他部份時,圖片才會依序載入。請直接看作者一目了然的範例

取得國際訂單的外銷型網站設計

Posted by curtiss on 2008年 06月 23日

- 台灣製造,國際訂購,創造實際銷售的國際行銷型網站

台灣有許多優秀的製造商,面對產業轉型的年代,更要以網站與國際接軌,來讓更多的國際客戶認識,進而提升在全球市場的競爭力。

確實,有許多的國際買家是透過參展來尋找廠商,但更多是透過網站來物色,
要如何讓他們在網路上取得您的資訊,並留下深刻印象,便是摩比斯能為您服務的地方。

國際買家們在乎的網站是甚麼呢?

1. 國際買家必須能搜尋到你的產品

大部分的國際買家,會由網際網路上搜尋相關產業的廠商來作為比較,因此您需要在關鍵字組的搜尋結果中讓客戶先找到您的產品。

2. 中西不同的審美觀 - 優雅簡約的設計風格

台灣的網站設計,偏向於酷炫的風格,偏偏國際的買家尋找台灣產品是為了品質優良與價格合理的產品定位,而酷炫的網站,往往偏離了紮實內容與合理價格的形像;
成功的國際級網站風格,大多採用 CSS 技術來設計出優雅簡約的風格。

3. 直覺性的導覽與紮實的內容

國外的網站使用者已經有其瀏覽習慣,主打外銷市場的網站,只要利用好的導覽架構,紮實地把內容傳遞給客戶,便可符合國際客戶找尋台灣廠商的心態

摩比斯擅於製作國際網站的4大特點

1. SEO 專業

摩比斯所製作的網站首重搜尋引擎的成效,一律針對客戶產品所需的關鍵字做 google 與 yahoo 的搜尋最佳化。

2. 最佳內容管理系統

摩比斯提供最佳的內容管理系統(CMS),所有的網站內容皆可讓客戶自行新增及修改,讓網站得以隨時間成長而更好。

3. 優秀的國際級設計

我們的設計師擅長應用CSS技術來設計製作網頁,加上天生的創意敏感度,最能符合國際客戶喜歡的優雅簡約風格。

4. 適切的互動功能

摩比斯對於外銷型國際網站應有的功能,擁有豐富的經驗,其基本的互動功能為:

  • 產品型錄系統 (產品展示系統)
  • 聯絡我們表單
  • 最新消息
  • 公司資訊

 

歡迎國內欲針對國際市場行銷的優秀公司,向摩比斯的網頁設計部門洽詢相關網站設計的問題。

[PHP] 如何保護Querystring?

Posted by yoren on 2008年 05月 28日

David Walsh的文章:Tips for Protecting Querystring Keys & Values in PHP,建議了以下五種保護Querystring參數和值的方法:

  1. 整數需指定資料型態(Typecast Value when Expecting Numbers):確保整數不會被當成字串而造成錯誤。
  2. $id = (int) $_GET['i'];
  3. 淨化輸入值(Sanitize Input):建立各種類型資料的處理函式,確保資料傳遞時的一致性與安全性。類似在Dreamweaver裡面的GetSQLValueString函式。
  4. 關閉REGISTER_GLOBALS(Make Sure REGISTER_GLOBALS is Off)。
  5. 不使用有意義的變數名稱(Don’t Make Variable Names Meaningful):David原本的建議如下,但是有一位仁兄在回應中則持反對的意見,認為這並無助於安全性(還是可以從數值的一致性猜出變數的意義)。
  6. <!-- no! -->
    <a href="/profile.php?user_id=<?php echo $user_id; ?>">Your Profile</a>
    <!-- yes! -->
    <a href="/profile.php?q=<?php echo $user_id; ?>">Your Profile</a>
    
  7. 將數值加密(Encrypt Querystring Values):使用md5來加密參數值。
  8. <a href="/profile.php?i=<?php echo md5($user_id); ?>">Click here</a>

最後,請問有人知道「Querystring」的中文怎麼翻譯嗎?

補記:jaceju我的部落格建議Querystring可譯為「網址參數列 (字串) 」,裡面的變數就稱為「網址參數」 (例如 ?abc=123 裡的 abc)

安裝Mobius CMS流程

Posted by antonio on 2008年 05月 28日

安裝Mobius CMS流程 (主機環境必需為PHP 5.0)

  1. 下載取得最新版 CMS zip檔:http://code.google.com/p/mobiuscms/downloads/list 【Fullback.zip】
  2. 將fullback.zip上傳到你想安裝的空間 (以檔名fullback.zip為例)
  3. 進入H-SPHERE 並選擇欲安裝CMS的客戶主機後,點選【FTP帳號】下的【FTP帳號】或下方圖示皆可
  4. 在FTP用戶的【登入】右方,點選【檔案管理(英文版)】
  5. 選取擺放的空間後,點選zip檔,在點選右方籃框中的Uncompress來解壓縮
  6. 可以順便利用FTP開檔案權限 為 可讀 可寫 可執行後,點選change
  7. .htaccess
  8. /cms/resource 資料夾 (若於 H-SPHERE 下,點選資料夾檔左邊小圖示來開權限)
  9. /cms/xml/cms.xml
  10. 到前端的根目錄(http://www.tasteforlife.com.tw/index.php),畫面會自動顯示 install (以index.php驅動)
  11. 6. 執行 install後,點選【執行安裝】

[jQuery] 用Jeditable快速更新MySQL資料

Posted by yoren on 2008年 05月 11日

Jeditable是一個用來達成「就地編輯」(Edit In Place)目的的jQuery plugin,以下簡單介紹這個外掛的用法,以及如何將編輯完成的內容更新到MySQL資料表中。

在本文的範例中,要更新的是如下的資料表:

通常我們會把資料表的資料拉到網頁裡,如下圖,前兩個欄位即是要利用Jeditable來編輯的資料。第一欄(對應資料表category欄)要使用文字框(text input)來編輯,第二欄(對應資料表parent欄)則是用下拉選單(select)編輯。

將要更新的資料以div包住,並加上class和id屬性。請注意id值的數字是用php動態產生的,即是資料表的cId欄位值

日文
語文類

使用這個外掛的語法如下:

$(document).ready(function() {
$(”.category”).editable(”save.php”, {
cancel: ‘取消’,
submit: ‘修改’,
indicator: “儲存中…”,
tooltip: ‘滑鼠點此可編輯…’,
width: “70px”
});

$(”.parent”).editable(”save.php”, {
loadurl : “parents.php”,
type: “select”,
cancel: ‘取消’,
submit : “修改”,
indicator: “儲存中…”,
});
});

在這幾個參數裡面,第一個參數「save.php」即是將更新內容存入資料庫的後端處理程序,其他的參數應該不難理解;比較值得介紹的是「loadurl」這個參數,如果我們希望動態產生下拉選單的內容,就必須使用loadurl來加入外部資料。這個部份請參閱Jeditable官方網頁的「How to use selects?」一節。

完成上述步驟後,就地編輯就會開始作用了。點擊可編輯的文字時,Jeditable會自動產生一張表單,在本例中會依照「type」參數的設定,出現文字框或下拉選單:

按下「修改」送出表單時,Jeditable預設後端(save.php)會接收到兩個POST變數:$_POST['id']和$_POST['value'](變數名稱也是預設的,可以使用id和name兩個參數修改)。$_POST['id']的值等於前述放在div裡的id值,$_POST['value']則是在表單欄位內輸入的值。

後端(save.php)更新資料表的程式碼如下(參考來源:DeviLib.com):

< ?php
$id = $_POST['id'];
$value = $_POST['value'];

//將$_POST['id']用explode函式拆解為$field和$id兩個變數
list($field, $id) = explode('_', $id);

//mysql query
mysql_query("UPDATE tb_category SET $field='$value' WHERE cId='$id'");

//將值傳回前端
echo $value;
?>

完成後的成品網頁請按此測試。有個缺憾是,這個外掛無法直接搭配jQuery Validation一起使用,必須另行客製(有善心人士可以提供嗎?),所以我是用php在後端做資料驗證的。想了解更多資訊,請務必到Jeditable官方網頁一遊。有任何的問題指教,也歡迎與我討論。

RegExr:線上正則表達式測試工具

Posted by yoren on 2008年 05月 08日

2008-05-08_1909

RegExr是由Grant Skinner開發的線上正則表達式(Regular Expressions,RegExp / RegEx)測試工具,它提供了一個簡單的介面讓使用者輸入正則表達式,並即時在可編輯的文字區內標示搜尋結果。在視窗的右側,還提供常用的語法片段與參考範例,透過不斷試誤的過程,讓使用者了解如何運用正則表達式。

RexExr採用Flex 3開發,使用的是ActionScript 3(不十分完美)的正則表達式引擎,所以搜尋的結果未必百分百正確。如果你的電腦(Windows、OSX或Lunix)有安裝AIR 1.0 runtime的話,你也可以使用可安裝的版本

此外,如果寫程式碰到要用到正則表達式卻不知從何寫起時,不妨到Regular Expression Library挖寶,可能一不小心就把答案翻出來了,會節省很多時間喔。

Pages: 1 2 3 »

Copyright © 2007 Mobius 網站設計. All rights reserved.