PageRank



轉移公告

計劃把 http://blog.hoamon.info/ 文章全部轉移至 http://www.hoamon.info/blog/ 這裡,而本 Blogger 站台的文章近 500 篇,我預計在 2014-12-31 前移轉完畢,完成後 http://blog.hoamon.info/ 將只作代轉服務,一律把舊連結如 http://blog.hoamon.info/index.html 轉成 http://www.hoamon.info/blog/index.html ,敬請舊雨新知互相走告。

新文章只發佈在 http://www.hoamon.info/blog/

何岳峰 敬上
顯示具有 javascript 標籤的文章。 顯示所有文章
顯示具有 javascript 標籤的文章。 顯示所有文章

2010年9月28日 星期二

使用 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

2010年7月4日 星期日

「郵遞區號」: 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+ 的話,之後就不用再下載了。

範例:

2007年3月24日 星期六

ExplorerCanvas:IE瀏覽器上的js修正檔

之前還信心滿滿地跟人家說,不會有人在瀏覽器上開發圖形函式庫呢~今天就被打巴掌了。

這個 ExplorerCanvas 程式也不算是讓 IE 瀏覽器上跑 2D 圖形運算的函式庫,它其實是一個讓 javascript 程設師能設計跨瀏覽器的 javascript 程式。為什麼要這樣作呢!原因就出在微軟喜歡用自己的方式來造輪子,所以其他的 Firefox 、 Opera 、 Safari 都支援相同的 tags 來完成 2D 的圖形運算,但 IE 用自己的 ActiveX 元件。

所以只要在你的網頁前頭先載入這個 ExplorerCanvas.js 檔,那麼你呼叫執行的 js 就不用分瀏覽器了。

下面是它的一些範例:

http://www.nchu-cm.com/examples/example3.html - 裡面的圖有4mb,請小心使用。
http://www.nchu-cm.com/examples/example2.html
http://www.nchu-cm.com/examples/example1.html

世界何其大,還是仔細研究過再說吧!

2007年3月10日 星期六

JavaScript ≠ Java

回應阿西摩的分享誌: JavaScript ≠ Java

題目是對了。javascript的確不等於java,就像java不等於javascript一樣。

但java比javascript高級??這就有問題了。這就像是拿xx比芭樂一樣。

你會拿java applet來作表單,然後在裡面作資料驗證嗎?是有這個可能(需加密的登入表單,如網路郵局的表單),但全世界有99%(這是不精確的形容詞,表示很多而已)的程式師是拿javascript來作。

javascript可以拿作寫桌面程式嗎?現在可能還沒有人拿它直接來作整個桌面程式,只有拿來作桌面程式中的一個小元件,像是檢查使用者輸入指令(javascript sheel),但將來網頁應用程式當道時,又會有多少桌面程式留下來?java跨平台又如何,一堆動態語言(python、perl、ruby、php)都跨平台,連javascript也跨平台(請不要拿Jscript來說,那是微軟自己玩爽的),不只是活在瀏覽器,也可以活在伺服端。

阿西摩只是一個良好的 java 程設師,不是一個良好的 javascript 程設師,因此他的立場不中立。而我不是一個良好的 javascript 程設師,但我卻不妄言 javascript 劣於 java ,所以這應是包含態度的問題。
Related Posts Plugin for WordPress, Blogger...