Skip to main content

Tedshd's Dev note

Category: JavaScript

JavaScript - onbeforeunload

# onbeforeunload onbeforeunload 是在 browser 在轉換頁面時會觸發的事件 當有 return 值時, 會出現 confirm 視窗, 並停住觸發的行為 目前試過會觸發的行為有 上一頁 / 下一頁 重新整理 關閉視窗 前往其它 URL submit 事件 URL 改變時 這幾種較常見 用法如下 var fun = function () { return 'Exit?'; } window.onbeforeunload = fun; return 的值是 confirm 的訊息 可 return string or array 無法 return fuinction 也可以用條件判斷 var fun = function () { var value = document.getElementsByTagName('textarea')[0].value; if (value) { return 'Exit?'; } return; } window. ...

JavaScript type

# JavaScript Type number string boolean null undefind 減少 type 轉換以加快執行速度 # Object ## var 宣告後即擁有物件的屬性 宣告之後無法刪除 區域變數 function 內宣告 全域變數 小心使用 ## property 建立在物件中 可刪除 # Array method 1 var arr = new Array(); bug var arr = new Array(10); arr // [undefined × 10] method 2 var arr = []; ...

innerHeight & innerWidth

# innerHeight & innerWidth 抓取瀏覽器目前顯示高度與寬度 一般都用 window.innerHeight 與 window.innerWidth 但唯獨IE6~IE8不行 Google了一下 發現用 window.document.documentElement.clientHeight 與 window.document.documentElement.clientWidth 便兼容所有瀏覽器 # scrollHeight 如要抓 document 的高可用 document.body.scrollHeight Refer ...

performance-test

# performance jsPerf — JavaScript performance playground http://jsperf.com/ HTML5 test http://html5test.com/ JavaScript Benchmark http://www.webkit.org/perf/sunspider/sunspider.html var perf = function (testName, fn) { var startTime = new Date().getTime(); fn(); var endTime = new Date().getTime(); console.log(testName + ": " + (endTime - startTime) + "ms"); } jQuery console.time("timerName"); // javascript console.timeEnd("timerName"); ...