2011年5月30日 星期一

用javascript 置換 className (Setting Styles with JavaScript)

方法1 (建議使用):
document.getElementById("myID").className = "myClassName";

方法2 (不建議使用):
document.getElementById("ID").setAttribute("class", "myClassName");

方法2, 在 GIP 的切換字體大小用的 styleswitcher.js 檔案裡可以看到.
這個方法, 在 IE6 + IE7 會失效, 在 IE8 或 FireFox+chrome 是 OK 的.

2011年5月24日 星期二

修改 IE 瀏覽器在 image map 時, 不顯示外框的方法

在使用 map 的 tag 時, IE 瀏覽器會在mouse click 時顯示一個很醜的 area 外框, 醜醜的外框長的像下面醬子:



解決方式: 在 img tag 裡增加 hidefocus="true" 的屬性即可.

特別感謝: 玟瑜 告訴我這個方法.

2011年5月19日 星期四

[IIS]. css 的 MIME type 會造成 firefox + chrome 顯示錯誤

畫面1: 左邊跑版, 右邊是 Error Message.



畫面2: 要設定一下 iis, 的設定, 不知道是那一個豬頭把 .* 給加上去, 氣死我了!

2011年5月3日 星期二

asp 實作 base64 加/解密

┏┓
┗■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┃ 1. Base64 定義
 ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Base64是一種使用64基的位置計數法。它使用2的最大次方來代表僅可打印的ASCII 字符。這使它可用來作為電子郵件的傳輸編碼。在Base64中的變量使用字符A-Z、a-z和0-9 ,這樣共有62個字符,用來作為開始的64個數字,最後兩個用來作為數字的符號在不同的系統中而不同。一些如uuencode的其他編碼方法,和之後binhex的版本使用不同的64字符集來代表6個二進制數字,但是它們不叫Base64。


┏┓
┗■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┃ 2. 執行結果
 ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━



┏┓
┗■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┃ 3. 程式碼
 ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━



┏┓
┗■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┃ 4. 心得
 ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
base64 的好處就是可以把原本用數字 0~255 來表示的字元, 改成用 0~63 來表示, 好處是資料可以放在URL裡被傳遞, 也可以避免掉部份 cross site script 的問題.

下圖是我被植入 script site script 的結果, 因為把字串放到 value="" 屬性裡, 因為變數內容有雙引號, 所以字串就跳脫了.



┏┓
┗■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ┃ 5. 資料來源
 ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
將UTF-8編碼的字串轉成base64編碼
http://achtung.webhop.net/allenj/?p=628

Facebook 留言板