2006/10/25

如何清除Javascript Array物件的方法

原來,javascript可能取不到prototype的this物件,因此在實作Array.prototype時,只能用
this.length = 0;來改變原本物件的index,目前只能用這樣來解決。

Javascript 跟 ASCII 轉換

// javascript 的charCodeAt 是取得字串的ASCII編碼
String.charCodeAt();

//num 為十進位的ASCII編碼,此formCharCode將取得對應ASCII的字串
String.fromCharCode(num);

2006/10/17

如何計算JavaScript字元的長度

當內容有中文時,字體的寬度會佔顯示的二個位元。

String.prototype.getLength = function() {
// 先找出佔二位元的字體(例如:中文)
var zh = this.match(/[^\x00-\xff]/ig);
// this.length + match到的字元個數(意思就是中文字會算二次)
return this.length + (zh == null ? 0 : zh.length);
}

使用的方式:

function test(){
var src = "1234五";
alert(src.getLength());
}

結果會出現 : 6

如何取得游標的位置?

Mozillar取得的方式:
  • object.selectionStart;
  • object.selectionEnd;
IE取得的方式:
  • // object就是textarea的物件
  • this.object.focus();
  • var range = document.selection.createRange();
  • var stored_range = range.duplicate();
  • stored_range.moveToElementText(this.object);
  • stored_range.setEndPoint('EndToEnd', range);
  • // 此selectionStart就是游標的起點
  • this.object.selectionStart = stored_range.text.length - range.text.length;
  • // 此selectionEnd就是游標的終點
  • this.object.selectionEnd = this.object.selectionStart + range.text.length;

2006/10/14

如何取得javascript Textarea 反白的字元

取得所選取的文字
var range = document.selection.createRange();
複製
var temp=range.duplicate();
設定選取的長度為:4
range.moveStart('character',4);
設定結束點的位置,從temp的字元開始
range.setEndPoint("StartToStart",temp);
將所設定的字元長度選取反白
range.select();

2006/10/04

Signed Applet key tool

JAVA SECURITY 中的 KEYTOOL
執行方式: 用命令提示列直接下keytool的指令
key的產生過程如下:

  • 產生key指令 keytool -genkey (預設key名為mykey) keytool -genkey -alias [名稱] (指定key的名稱)

  • 察看key keytool -list

  • 匯出key keytool -export -alias [key名稱] -file [檔名.crt]

  • 在jar檔簽個章 jarsigner [檔名.jar] [key名稱]

  • jarsigner -verbose -verify [檔名.jar ] [key名稱] (檢示detail)

BT 下載時造成 IE 、MSN都不能連線

作業系統為:Windows XP Service Pack 2
問題:Windows 為了防止 Worms 的攻擊,將 TCP/IP 連線數預設為10,BT下載時的連線數預設也是10 ,所以網路連線數已滿,因此IE、MSN要透過網路來連線時已經沒有可用的連線數。

解決方式:下載http://www.lvllord.de/?lang=en&url=downloads EvID4226Patch223d-en.zip,
此 patch 執行檔可修改windows的連線數限制,執行軟體便會出現幫你更改電腦的 TCP/IP 連線數為 50的畫面,只要按下『Y』即可,TCP/IP 連線數便會更改成 50 了,重新開機一次,執行BT下載軟體,在開IE、MSN做測試,此時,連線問題應該解決了。

加強版: 若50個TCP/IP 連線數還不夠,這個軟體還有個進階功能,但需要到命令提示字元下去執行該軟體,輸入該軟體的檔案名稱後面再加上 /?,便會出現進階功能的使用說明,/L=500 連線數就變500了。

NOTE: Window 檔案保護 視窗要求放入XP SP2 CD 請按取消鈕略過 。

2006/10/03

第一次用Google Blogger就出現IE小bug

在blogger的檢視Blog裡,居然是白畫面,但經過FireFox使用並沒有任何問題。
原因出在:範本--> <$BlogMetaData$>
只要把 <$BlogMetaData$> 放到 <table><$BlogPageTitle> </table>的前面,就可以解決IE檢視的問題了。
問題就是編碼,Blogger都是用utf-8來編碼,但是中文的title會造成它編碼後認定網頁的編碼不符合,而造成白畫面。