網頁除錯觀察的Browser工具FireBug-開發者工具-開發人員工具

當程式人員或網頁設計師在開發網頁時都會遇到一個問題,就是debug不易,不過自從Firefox大行其道後,這個問題被FireBug解決了,使用FireBug可以很方便的知道網頁那裡出了問題,可以直接修改CSS及html dom內容,還可以知道整個網頁到底傳輸了什麼內容及資訊等等,可說是十分好用,Microsoft在其後釋出的Internet Explorer及Google的Browser也都支援了類似的功能,不過更新的頻率並不像FireBug那麼高。

首先介紹IE8的開發者工具

可以由上方工具列的工具->開發者工具 來啟動(或F12)

IE開發者工具1.png

使用開發者工具HTML tab裡的滑鼠指標可以直接取得網頁裡HTML的結構內容

而在這個HTML tab也可以直接修改文件內容或CSS,不過個人並不覺得比FireBug好用

Read More

在pixnet部落格裡增加facebook like 讚按鈕

facebook有需多的外掛元件,可以從facebook developers裡面找到設定並安裝,這裡介紹如何在pixnet blog裡安裝”讚”這個按鈕。

一般不另任設定時,pixnet blog只能固定在某一個區塊顯示"讚"按鈕,像是在公告區塊或是左右側欄,不過這樣子並不太好用,而且也不能自動變換要推薦的文章網址(如何取得like button可參考 [分享] 如何在部落格上放入Facebook的「讚」? ),就像下圖:(facebook plugin like button

pixnet公告版位加入讚

如果要放在其它地方要如何做呢?這裡示範在標題下方依每個標題連結自動產生一個讚的按鈕出來,結果會如下圖。

Read More

網頁post自動產生iframe

大部份在寫網頁要上傳檔案時都需要使用到iframe做一個中繼,可是如果上傳POST時有錯訊息時,前一個iframe資料就會變成記錄history,而此時如果使用者重新整理時,就會遇到暫存資料的問題,iframe裡的內容會再被執行一次。

以下有一個JavaScript方法,可以在檢查完所有form條件時才自動建立iframe內容createiFrame做post動作,而重新整理時(或第一次進入此畫面時)又不會真實存在,來解決暫存的問題。

當呼叫createIFrame時,會在body這一個tab建立一個iframe元素,並把需求屬性設定好,像是frameborder=0、width=0、height=0等。

function createIFrame() {
        if (!document.getElementById("_hiddenframe"))
        {
            var frame = document.createElement("iframe");
            frame.setAttribute("name", "_hiddenframe1");
            frame.setAttribute("src", "about:blank");
            frame.setAttribute("frameborder", "0");
            frame.setAttribute("height", "0");
            frame.setAttribute("width", "0");
            frame.setAttribute("id", "_hiddenframe");
            frame.name = "_hiddenframe";
            document.body.appendChild(frame);
            window.frames._hiddenframe.name = "_hiddenframe";
            document.getElementsByTagName("body")[0].appendChild(frame);

        }

    }

[jsp小技巧]利用Throw Exception來完成Ajax

一般在寫Ajax時,最直覺的使用方法就是利用Ajax Object來要求Server給與回應, 再依回應的內容解西倒底是完成動作?還是有錯誤產生,如必填欄位未填。

這裡介紹一個小技巧,在編譯式的網頁伺服器語言可能比較合適使用。

大概的原理是利用程式在執行有錯誤時Throw Exception來當做錯誤訊息, 回傳給client,而client只要接收到503的錯誤,則就可以知道動作並未完成, 反之則是完成。

範例使用prototype來使用Ajax,傳送及回應,有需要可以參考:

Ajax 使用prototype.js 1

以下是載行結果,當有填值時,則回應填寫的值,

沒填值的時候就回傳錯誤訊息。(Exception)

1
2
Read More

[javascript效果]marguee move top

這是一個簡單的例子

大概的構想是,先把原始要上移的範圍A copy(clone)一份放置於無接縫的下方B

當B移到動可視範圍的0px時,瞬間把A設成在0px的地方

那向上移的方式是利用外框的style屬性overflow:hidden,然後利用scrollTop一直增加,那內容物就會被向上跑了

由右向左看物件的變化大概下如(紅色代表B,藍色代表A)

5
0
1
4
5

在第四個跟第五個時瞬間把A設成在0px

再來做的小實驗

利用scrollTop來移動物件位置

Read More