Joomla!藏經閣

Joomla! 台灣站務+Web技術+手機開發筆記

 
Javascript

24

九月

2009

Google Chrome Frame新發表 PDF 列印 E-mail
General
作者是 EddyChang   

Tags: chrome | google | 瀏覽器

Google在9月22日首次發表了Google Chrome Frame。這個是一個以外掛其他瀏覽器為主的軟體,這個瀏覽器外掛可以讓其他非Google Chrome的瀏覽器(例如Internet Explorer),享受Google Chrome般的功能,例如快速的Javascript執行引擎V8,或是HTML 5新規格的能力。當然,這個首次發佈的版本一開始就針對Internet Explorer,官方部落格上也說明,因為像Internet Explorer不論是6/7/8版本,使用的人數比例,仍然是不容忽視。藉由安裝外掛軟體,可以讓這些使用者比較容易接受,如果是要它們更換另一個瀏覽器,反而是困難的事。

對於網站程式開發者而言,只要使用以下的標籤在網頁中,就可以偵測使用者是不是有安裝這個外掛
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
更多的資訊可以到相關的開發文件去觀看,注意這仍然是一個早期發表的版本,還有許多未完成功能及程式臭蟲。
 

21

九月

2009

Javascript中的函數:基本使用 PDF 列印 E-mail
General
作者是 EddyChang   
函數宣告方式

在Douglas Crockford的「Javascript: The Good Parts」書中,在函數的章節,開宗明義的就說「Functions in JavaScript are objects」。函數本身就是一種物件,和物件的連繫也是密不可分。因為函數是物件,所以也可以存放於變數、物件或陣列之中。在這本書中建議的函式使用方式,都是像下面第二種這樣的:
//一般的函數定義方式
  function add(a,b){
  return a + b;  
  };  
  
  //稱為function literal notation的函數定義方式
  var add = function (a, b) {      
            return a + b;  
  };  
//使用add函數相加兩個數
 var sum=add(1,2);
 //像數值一樣,函數也可以指定(複製)給別的變數
 var sum=add;
 typeof sum;
 
 //刪除add函數之後,sum函數還存在
 delete add;
 typeof sum;
 var result=sum(2,3);

當然函數的宣告方式有很多種,這一種是需要學習的部份,或許這和其他程式語言有些差異。

接下來要了解的是每個函數都有一個自動內建的參數陣列,稱為arguments。像在下面的範例中,可以看到它的功用,利用arguments可以傳入不確定數量的參數值。但是,arguments並不是一個真正的陣列,雖然它有length的屬性,這個部份之後再討論。
function sumOnAll() { 
  var total=0;
  for (i = 0; i < arguments.length; i++) {
    total += arguments[i];
  }
  return total; 
} 

sumOnAll(1,2,6);
sumOnAll(1,1,2,6,7); 
閱讀全文: Javascript中的函數:基本使用
 

19

九月

2009

YUI發佈2.8.0新版本 PDF 列印 E-mail
General
作者是 EddyChang   
 YUI是由Yahoo!開發的AJAX與Javascript框架,相信不少人會聽過這個函式庫,但很少聽到有人在用。當然,這是有原因的。在Yahoo! User Interface Blog於9月14日發佈的2.8.0版本,是一個YUI 2的維護性版本,果不然一發佈後就被使用者開罵,因為距離上一個2.7.0版本的發佈時間,已經過了半年以上。而正在路上開發中的3.0版本,beta版本也是3個月前的事了,雖然我們可以說YUI是非常嚴格的努力在開發,不過看著討論區的人潮稀稀落落,就知道他們還需要加把勁。

2.8.0版本主要新增了3個擴充套件: 不過這個SWF Store Utility還真令人感到Flash的可怕之處。為了安全性的考量,Javascript擋東擋西的就是不讓網頁可以存取得到電腦裡的資料,沒想到全給Flash破壞得一乾二淨,有好也有壞了。
 

17

九月

2009

Google Chrome發佈新版本 PDF 列印 E-mail
General
作者是 EddyChang   

Tags: 瀏覽器

 繼號稱世界最快的(Safari也號稱自己是世界最快)、裝有Turbo引擎的Opera 10在9月1號發佈後。Google也在9月中發佈了新版的Chrome 4.0,在發佈消息中除了大力展示V8引擎在執行Javascript的效能大力提升之外,也有以下的新功能:
  • 新式的資訊標籤(Tab)
  • 靈活的Omnibox:在搜尋列中可以打幾個字就會出現書籤、歷史記錄、甚至是Google Search中建議網站中的資訊
  • 相容於HTML5
  • 可以換外觀佈景 
當然這個版本還沒有把擴充套件的功能正式放到瀏覽器的一般版本(在開發版本中有),這一點相較於擁有最多擴充套件的Firefox就差很多了,雖然Google Chrome目前已經推出不穩定的Mac OS和Linux的測試版本,但仍然輸了其他有支援多種作業系統的Opera和Firefox。Google Chrome還是得加把勁,目前位居瀏覽器市場的第四位,事實上這個市場仍然是被Internet Explorer 6/7/8所壟斷,佔了約65%的市場。(參考自:Usage share of web browsers),而Internet Explorer 6更是一個高齡8歲的舊產品。

值得一提的,這次新版的Chrome發佈後,Google更積極的向PC品牌廠商爭取合作,未來有許多小筆電和筆電,都會內建Google Chrome瀏覽器。不過在微軟準備推出Windows 7之際,這場瀏覽器大戰相信微軟不會放手不管。


Chrome 新版本中的HTML5展示(要用Chrome才能打開)

 

16

九月

2009

ExtJS中的Cookie處理 PDF 列印 E-mail
ExtJS
作者是 EddyChang   
如果要很簡單的讓Javascript間,或甚至PHP之類伺服器端程式語言能交換資料,Cookie是一個很方便的方法。但是Cookie經常會被防駭軟體或其他瀏覽器外掛所阻擋,最好也不要傳遞有安全性的資料。

ExtJS中的Cookie處理是透過Ext.state.CookieProvider來處理的。以下是簡單的使用方式:


當然也可以設定有關Cookie的路徑(預設為'/')、到期時間(預設為7天)、網域名稱(預設為目前網域),像以下的範例:


 
<< 最先 < 前一個 1 2 3 下一個 > 最後 >>

JPAGE_CURRENT_OF_TOTAL