頁碼: 1 2 3 4 5 6 7 8 ...23 24 25 下一頁

Javascript 模擬 jQuery 的選擇器(Selector)

JQuery 強大、方便的選擇器 (Selector) 是 jQuery 不可或缺的功能之一。不過如果我們不想載入 jQuery 而只想使用類似 jQuery 選擇器的功能,那可以用自訂函式的方式做到:

function $$(theElement){
    switch(theElement.charAt(0)){
    case ("#"):
        // 以 $$("#id") 傳回物件
        return (document.getElementById(theElement.replace(/^#/, "")));
    case ("."):
        // 以 $$(".class") 傳回物件陣列,IE 不支援
        return (document.getElementsByClassName(theElement.replace(/^\./, "")));
    default:
        // 以 $$("tag") 傳回物件陣列
        return (document.getElementsByTagName(theElement));
    }
}

或是簡單一點,僅傳回指定 id 的物件:

function $$(theElement){
    return(document.getElementById(theElement));
}

我把這自訂的函式取名為 $$(),用以與 jQuery 的 $() 做區隔。

但是要注意,以上兩個函式傳回的都是 DOM 物件,與 jQuery 在其它操作上並不相同。

發表於 javascript, jquery | 已標籤 , | 發表迴響

AtMail/AtMailOpen: 一套支援 IMAP 及 AJAX 的 Webmail 系統

因為我公司的 Mail Server 是使用 IMAP 協定,原本是安裝 IlohaMail 做為用戶的 Webmail,但 IlohaMail 對於 UTF-8 及中文郵件的支援並不算良好! 並且郵件一多的話,有時讀取郵件清單會很久! 所以陸陸續續我都有在注意其它有支援 IMAP 的 Webmail。

最近發現一套由商業版改為 Opensource 的 Webmail: AtMailOpenAtMail 商業版的價格是 USD$250,但已經在去年推出了功能比較簡單,並且是 Opensource 的 AtMailOpen。(AtMail 商業版與 Open 版的功能比較)

我先到 AtMailOpen 的官網去試用後的感覺很不錯,畫面簡潔大方、並且運用了 AJAX,所以存取速度頗快。AtMailOpen 對於中文郵件、中文信件匣的支援也都很正常。

如果你接受 Webmail 僅支援 IMAP/IMAPS,並且沒有中文操作介面,那你 應該要試試有 AJAX 加持的 AtMailOpen。

安裝說明

首先,請確認你的 Server 有支援 PHP 與 MySQL

1. 下載後的檔名是 atmailopen.tgz,如果沒有副檔名,請自行加上 .tgz。

2. 用 WinRAR 解開 atmailopen.tgz 後上傳到 Server 的網頁空間 (或上傳 atmailopen.tgz 再用 tar 解壓縮)。

3. 將 atmailopen 目錄及檔案的擁有者改為「apache」:

chown -R apache atmailopen

4. 用瀏覽器連結 http://example.com/atmailopen/ 即可進入 atmailopen 的安裝介面。

狀況及解決方式

不過一開始在安裝使用上有遇到三個問題,問題及解決方法如下:

1. 安裝畫面是一片空白 (安裝過程沒有官網寫的那麼簡單)。

解決方法: 將 AtMailOpen 所有檔案及目錄的擁有者改為「apache」,指令:

chown -R apache atmailopen

2. 登入失敗,跟這位老兄的狀況一樣,錯誤訊息「-ERR Login failed」。

我檢查了一下 maillog,這是因為 AtMailOpen 用了完整的 E-Mail Address 做為登入帳號,而我的 Mail Server 只能用 @ 前面的用戶名稱來登入! Trace 了一下程式碼,解決方法如下:

編輯「/atmailopen/libs/Atmail/Generic_Mail.php」,找到:

$login = $this->mailer->login($user, $pass);

在前面增加一行:

$user = preg_replace('/\@.*/', '', $user);

總共會找到兩個,只要處理第一個即可。

雖然我認為這個問題應該有參數可以設定,但又牽涉到下面的第 3 個問題!

3. 設定檔很雜亂

AtMailOpen 的設定檔位於「/atmailopen/libs/Atmail/Config.php」,可是內容又多又雜 (不曉得這是不是因為 Open 版少了管理介面的緣故,所有設定統統丟在這裡,這是我看過最雜亂的設定檔),我嘗試改了一些要做為預設的郵件伺服器、網域名稱及時區參數,結果都無效 Orz!

只好去改登入樣版「/atmailopen/html/login-light.html」加上預設的郵件伺服器及網域名稱。

希望以上的介紹及問題處理方法可以讓大家方便使用 AtMailOpen,如果用起來不錯可以考慮商業版喔。

發表於 mailserver | 已標籤 , , , , | 6 則迴響

寫 OOP 需要一點堅持

我知道 OOP 比較看得懂程式在寫什麼,我也知道模組化比較好維護,但是寫程式要花比較久的時間,因為程式流程要再重新思考、分散、組合…

而寫好的物件往往要在重覆使用時才會覺得值得,要是時間趕的話,真的會很想含糊帶過!!

所以~以物件導向寫程式真的需要堅持!!

P.S. 我主要使用的語言是 Perl & Javascript

發表於 Uncategorized | 已標籤 , | 發表迴響

如何申請 live.com 電子信箱

Microsoft 的「@live.com」電子信箱開放註冊了(應該是 2007 年底就開放註冊的~我已經 Lag 很久了),不過是有地區性的,在台灣只能註冊到「@livemail.tw」這種雞肋的信箱 (中國則使用 @live.cn),下列的網址可以讓你直接申請 @live.com 的信箱:

進入網頁之後,點選畫面中的「Or get a Windows Live e-mail address」即可。

如果還是沒有跳出 live.com 的域名讓你選,不要灰心,改用英文 Portable 版的 Firefox3 再試一次。

另外,稍早之前 Yahoo 也已經開放「@kimo.com」的信箱申請,@live.com 和 @kimo.com 都是很漂亮的域名,可惜功能沒有 Gmail 強。

參考網頁

  1. 如何申請 msn.com 電子信箱
發表於 Uncategorized | 已標籤 , , | 發表迴響

「網頁設計-愛上jQuery」讀書心得及評論

使用 Javascrip 的框架來開發網頁的程式可以加快開發的速度,其中 jQuery 也是頗受歡迎的一員。

不過目前可以買得到的 jQuery 中文書籍實在寥寥可數,以下是最近閱讀「網頁設計-愛上jQuery」這本書的心得及評論 (作者是羅子洋)。

心得 & 優點

  • 如果要一氣呵成讀完這本書,讀者必須要有 HTML, Javascript, CSS 的基礎,並且放下過去寫 Javascript 旣有的思維,因為用 jQuery 寫程式會顛覆你原有的思考邏輯。
  • 作者寫得滿淺顯易懂的,範例也很簡短,符合 jQuery 的「write less do more」原則。建議讀者不要光看範例,要自己輸入程式碼,邊練習邊做筆記才會比較有學習效果。

缺點

  • 文章內,在每個指令的安排上沒有明顯的區隔。經常是一個指令介紹完了,馬上介紹下一個指令,卻沒有任何提示說要進入下一個指令了,會讓人誤以為是上個指令的功能。
  • 有很多不同的指令可以達到相同的效果,但作者並沒有說明其中的差別,或是什麼時候該用什麼指令會比較洽當。
  • 範例中的程式碼編排很很凌亂,很多範例看不懂在寫什麼,只好自己重新處理縮排及換行 (真想知道作者是用哪套編輯器) XD
  • 物件、變數的命名方式也有點糟糕!!
  • 很多範例在 Firefox 下執行並沒有達到預期的效果。
  • Ajax 的篇幅少了一點。

雖然上述的缺點不少,但做為入門書籍,這本書對讀者也是很有幫助的,畢竟任何程式語言要學得熟練,都要靠不斷的經驗累積。

這本書我打 75 分,作者的另一本著作「jQuery UI & Plugins」我也會去買來閱讀。

參考網頁

發表於 book, coding, jquery | 已標籤 , , , | 4 則迴響
頁碼: 1 2 3 4 5 6 7 8 ...23 24 25 下一頁