JavaScript | The Will Will Web

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

在 JavaScript 的世界裡如何讓 String 與 XML 物件相互轉換

我今天利用一支 jQuery 程式測試一個 Web Service 的回應,突然想要取回的 XML 資料轉成字串印出來看,首先是想的太複雜 (試不出來就是複雜),後來又覺得好簡單 (原來只要 xmlObject.xml 就可以了),但最後還是發現沒有想像中的簡單,而且每個瀏覽器對於 XML 的物件操作也不太一致,問了些朋友與上網找了些資料後,整理成兩個 function 可以彼此互相轉換。

... 繼續閱讀 ...

如何透過 JavaScript 取消 IE 的「回上一頁」功能

有時後我們會希望 User 在使用「登出」功能後,不要再讓他用 IE 的 回上一頁 按鈕功能,因為回上一頁其實也看不到東西 (因為已經登出了),但確有可能導致網頁出現錯誤畫面或權限不足之類的錯誤,我今天就分享一個 JavaScript 開發技巧,讓你徹底消除 IE 的 URL 瀏覽紀錄。

... 繼續閱讀 ...

如何透過 jQuery 進行表格內容數據的垂直加總與水平加總

前幾天為了讓手下的工程師學習 jQuery 物件操作,出了一個小題目給他們練習。我們有一個統計表同時包括「水平加總」與「垂直加總」兩個需求,且這兩個需求已經用 ASP.NET MVC 開發完成了,都是在 View 中寫 C# 程式進行運算的,我的題目是要將運算的部分改用 jQuery 動態算出。

... 繼續閱讀 ...

手邊有一張速查表(Cheat Sheets)是件很方便的事

我個人有習慣收集一些網路上別人整理的速查表,因為程式開發的細節真的太多了,要能全部背起來不太可能,也沒什麼意義,甚至於有人說程式設計就是一件查詢、複製、貼上的工作而已。對我來說,寫程式首重觀念與經驗,有了完整而正確的觀念,就算記不得要怎麼寫,查詢一下就馬上能寫了;而有了經驗,對於一些難解的 Bug 自然能夠迅速解開。

... 繼續閱讀 ...

解決在 IE 下無法將 HTML/XML 轉成 jQuery 物件的問題

今天在寫一個 Web Service 的測試程式,而我的測試程式是完全用 jQuery 開發的,因為 jQueryAJAX 功能極強,幾乎可以完成所有 Web Service 的測試工作。不過,我這個 Web Service 走的並不是 SOAP 協定,而是客戶自行定義的 XML 格式,所以包括 Request / Response 都是 XML 格式,本想說如此簡單的架構用 jQuery 很方便,結果卻不如我預期的順遂。

... 繼續閱讀 ...

詳細解說幾個建置網站時常用的編碼方法

每次有新的開發人員進公司,在開發網站的時候幾乎都會遇到「不知道應該在什麼時候要選用什麼編碼的狀況」,大部分的初學者甚至根本不知道何謂編碼(Encode),而我也面試過好幾位在業界工作多年的工程師,有些也無法精確說明應該在什麼時候要選用什麼編碼,甚至有人說「編碼做什麼?我沒編碼也沒發生過錯誤啊!」。所以我想有必要特別寫一篇文章詳述各種常用的編碼方法與使用情境。

... 繼續閱讀 ...

網站部署可考慮使用 Google AJAX Libraries API 載入 JS

Google 提供的 AJAX Libraries API 其實是一個內容散佈網路(CDN, Content Delivery Network),這裡掛載了許多知名的 Open Source JavaScript 函示庫,目前支援有 jQuery, jQuery UI, Prototype, script_aculo_us, MooTools, 與 Dojo 等各版本。而使用 Google 提供的 AJAX Libraries API 最大的好處在於使用 Google 提供之高速、穩定的 CDN 網路存取這些網路知名的 JavaScript 函示庫。

... 繼續閱讀 ...

分享 30 多種動態的頁籤(Tab)介面與 Accordion 相關程式

我想大家都知道何謂頁籤(Tab)頁面,不過你知道網路上大家都怎麼使用頁籤嗎?最近看到一則 30+ Animated Tab-Based Interface and Accordion Scripts 文章,裡面介紹了 30 多種頁籤介面,每一個頁籤介面都有原始碼可以下載,也都有提供預覽(Preview)頁面可供線上測試,多看看別人的創意,自己也會想出不少新點子。

... 繼續閱讀 ...

升級到 Flash Player 10 將會造成無法使用Flash檔案上傳功能

雖然 Flash Player 10 的出現又多了一堆又酷、又炫的功能,不過因為一些「安全」的議題,導致 Adobe 將 Flash Player 10 中的 FileReference 這個類別做了一些改變,而這個類別中有個 FileReference.browse() 方法,可以開啟一個檔案瀏覽的視窗,用來讀取使用者端本機的檔案,最常用這個功能的應用就是「檔案上傳」功能了。在 Flash Player 9 以前,使用者個方法是沒問題的,但是到了 Flash Player 10 又更嚴格的要求 FileReference.browse() 方法的使用方式,不能透過 JavaScript 直接呼叫了,而改成一定要是由「人」點選時「直接呼叫 FileReference.browse() 方法才能使用」,這導致網路上最常見的幾套 Flash 上傳元件全軍覆沒!

... 繼續閱讀 ...