九月 28, 2010

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 使用 Google AJAX Libraries API 時,無法離線撰寫網頁程式?

在網頁程式中,我都是使用 Google AJAX Libraries API 來 host jquery 程式庫的,然而這麼作有一個缺點,如果你是在離線作程式設計時,要手動修改樣版,把 Google 來源的 js 檔改成從本機讀取,是有點麻煩,但致少作得到。

但若是將來在系統上線後,使用者上得了你寫的網頁系統,卻無法連至 www.google.com 呢? 那怎麼辦,雖然這個機率會滿低的,但也是有可能會發生在這個網頁系統屬公司內部系統,而對外連線卻被中斷的情況下。

別怕! 很簡單,下面就是一個範例,第 6、7、8 行改成本機 host 的檔即可。



1 <link rel="stylesheet" title="default" type="text/css" media="screen" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/smoothness/jquery-ui.css"> 2 <script type="text/javascript" src="http://www.google.com/jsapi"></script>
3
4 <script type="text/javascript">
5 if (typeof google == 'undefined') {
6 document.write(unescape('%3Cscript src="/localmedia/jquery-1.4.min.js" type="text/javascript"%3E%3C/script%3E'));
7 document.write(unescape('%3Cscript src="/localmedia/jquery-ui-1.7.2.custom.min.js" type="text/javascript"%3E%3C/script%3E'));
8 document.write(unescape('%3Clink type="text/css" href="/localmedia/smoothness/jquery-ui-1.7.2.custom.css" /%3E'));
9 } else {
10 google.load("jquery", "1.4.0");
11 google.load("jqueryui", "1.7.2");
12 }
13 </script>


延伸閱讀: Using CDN Hosted jQuery with a Local Fall-back Copy

七月 14, 2010

hoamon's sandbox
hoamon
hoamon's sandbox is about »

tag cloud

» 3+2 = 5 碼郵遞區號查詢離線網頁程式(已放上 Google Code)

當我開始開發資訊系統時,就一直認為地址處理是一般資訊系統中最基本且常見的功能。不過,目前使用過的資訊系統,了不起就是把 3 碼郵遞區號作完而已,很少看到網頁系統有作到無碼 5 碼的地址處理功能(當然啦,郵局自家的確有提供 5 碼查詢功能,但是不好用)。所以我想郵局苦心推動大家使用 5 碼,除了能讓寄信速度加快外,未來在許多 GIS 應用愈來愈普及下,我相信大家都會利用 5 碼郵遞區號來作加值應用的。

所以為了搔自己的癢,我寫了 http://zipcode.ho600.com/ 網站,除了可作網上查詢 5 碼功能外,也把 HTML5 的 Offline 作進去,讓查詢功能可在無網路的本機端處理。另外也提供其他人嵌入「地址查詢表單」的方法。詳細說明請見「嵌入方法」,本專案我也放到 Google Code 開發,授權條款是 NEW BSD License ,希望能聽到您們的聲音。

這個程式是跑在 GAE 上的,不過可以很容易地移稙到其他框架中,因為這個功能,我主要是用 javascript 開發的。 GAE 不過提供檔案放置的功能。

注意,第一次瀏覽會比較慢,因為要把約 2MB 的郵遞區號資訊下載下來。不過,如果你用的是支援 html5 offline 功能的瀏覽器,像 Firefox3.6+, chrome4+, safari4+ 的話,之後就不用再下載了。

範例:

biggo.com.tw

A Django site.