跳過導覽列

O3noBLOG

A Happy(?)Designer ~~

SCRIPT

拾貳 25

document.lcocation 不是 string

就如同arguments不是陣列一樣,document.location 也不是字串,其實我多少了解這樣設計的原因,不過用起來還是很不方便,要正常的用各種字串的函式要先強制轉換一下:

var loc = document.location + '';
拾壹 22

keroro.js

keroro.js

在寫 HTML 5 投影片時寫的小 script,可以讓網頁跟著ケロロ一起共鳴,不過還算很測試的階段,有一些想改善的地方就看以後有沒有時間了~~

拾月 27

CSSHttpRequest

上週DK長輩看到的東西,CSSHttpRequest是個新的跨domain XHR技巧,利用CSS檔案不會有跨站存取限制和 about:URI來達成跨domain的js存取,當然要做跨domain最簡單還是用W3C的access control,當然IE還沒支援,目前看來要等到IE8才有機會,順便題一下,W3C開始制訂起XMLHTTPRequest Level 2了,簡單看一下是多了些新功能的樣子。

拾月 23

Peppy: 超快的CSS選擇器

前天發現到Peppy這個新的CSS選擇器,號稱速度比Sizzle還快,跑了他的speed test也確實有不凡的表現,而且code也蠻乾淨漂亮的,和大部分的library一樣,如果瀏覽器已經支援querySelectorAll的話也會直接用,像是Safari 3就有支援(windows版也有)。

順便一提,Eric Meyer現在覺得靠javascript來實做標準也不錯。

拾月 11

YUI Compressor

這東西好像很久以前有看過一次,那時不知道為什麼沒深入接觸(或許是看到java就逃跑了),期間還有試過perl的javascript compressor,不過用起來都不是很方便,直到前陣子看到DK示範了一下才又提起興趣,可惜我的blog剛搬離研究室的電腦,而且linux上也不像FreeBSD上有port好的,所以就變成需要在windows下使用,用命令列操控是還算方便,不過因為是包成jar檔,檔名又蠻長的,打命令的時候還蠻辛苦的,所以就寫了個batch檔案來處理:

SET PP=D:\tools\yuicompressor\
java -jar %PP%yuicompressor.jar --charset utf-8 %1 %2 %3 %4 %5 %6 %7 %8 %9

確定檔案路徑和基本的選項之後,把這個batch檔丟到path下的目錄,以後就可以用這個指令來壓縮js和css檔了,不過在我自己的電腦上還有遇到別的問題,就是.bat檔不會真的執行,不知道做了什麼事才變成這樣,總之又去找了bat2exec把bat檔轉成com檔,不過這個小程式出處不明,希望沒有什麼木馬在裡面@@。

事後感想是windows的命令列能不能好用一點啊Q_Q。

玖月 27

JavaScript Closure

這篇想寫很久了,test case的檔案也寫好超過一個月了,這次用了3(?)個case來說明,以下每個test-case都有三個h2標籤,然後透過getElementsByTagName來取得這三個h2,接著用for迴圈來對每個h2加上click事件,click後會alert i的值出來,i是for迴圈的索引值。首先來看一下第一個case的script:

var subHeads = document.getElementsByTagName('h2');
for (var i=0; i<subHeads.length; i++) {
    subHeads[i].onclick = function () {
        alert(i);
    };
}

這個case中,使用非常直觀的想法,不過他的結果是每個h2 click下去都會alert "3"出來,實際上每個click都是執行一個function,這個function會執行alert function,並且送 i 這個變數作為輸入值,不過實際上使用者click動作發生時,迴圈已經跑過一遍,而且 i 的值已經變成3了,所以你不管click哪一個h2,實際上都是做 alert(3) 這個動作。

閱讀 「JavaScript Closure」 全文 玖月 20

Konami Command

↑ ↑ ↓ ↓ ← → ← → B A

這有名的秘技相信大家都有印象,前陣子Google Reader還拿了這個指令來用,最近突然很想把它寫出來,今天下午終於花了些時間弄出來,在這個js檔案裡面定義了一個konami的自定函式,只要把輸入命令後想要做的動作寫成function作為參數來呼叫這個函式即可,以執行一個alert動作為例:

konami(function(){alert('You got 30 lifes.')});
玖月 11

PHP Session

session_start();
session_register('id');
$_SESSION['id'] = 1234;

本來查文件是說直接用$_SESSION這個變數就可以,不過測試過後還是要用session_register註冊一下變數名稱,不然會沒辦法把session傳到其他頁面。

伍月 30

輸入出生日期~

因為每次要在網路上輸入出生日期都覺得很麻煩,尤其是遇到用下拉式選單來選出生年和出生日的時候,所以我思考一陣子後設計了一個使用者介面來輸入出生日期,只要用滑鼠點個三四下就可以了^^,基本上這是做給jFormino的,所以在jFormino未來釋出的版本裡面會包含這個輸入元件,不過我作的雛形已經很好套用了,等不及的可以研究一下code自己拿去用。

補充:現在這個Style是hlb修改過的。

肆月 06

除錯與測試 JavaScript

有多麻煩,一圖勝千言啊!

為了測試和除錯開了五個瀏覽器

我同時開了Firefox、Safari、Opera、IE*2共五個瀏覽器視窗,每次修改完五個都要測試,因為已經過了開發階段,不能只看一個瀏覽器的結果了。

此類別所有文章


其它資訊

關於本網站

本網站是O3(othree)的個人部落格,主要內容為網路標準、網頁設計,穿插些ACG心得和敗家紀錄,如果需要聯絡我請寄信到

Google Friend Connect

分類彙整

我在看什麼

訂閱本網誌

貼紙

時間がない


認證、授權

XHTML, CSS,WCAG,創用CC 姓名標示