# 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.
...
Category: JavaScript
# 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 抓取瀏覽器目前顯示高度與寬度 一般都用
window.innerHeight 與
window.innerWidth 但唯獨IE6~IE8不行 Google了一下 發現用
window.document.documentElement.clientHeight 與
window.document.documentElement.clientWidth 便兼容所有瀏覽器
# scrollHeight 如要抓 document 的高可用
document.body.scrollHeight Refer
...
# 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");
...
# Browser Browser detect 由於各大瀏覽器都有部分CSS或Javascript相容問題,所以找了判斷各家瀏覽器的語法
在github 上更新
github
...
# function function fun() { // do something } fun(); var fun = function () { // do something }; fun(); 立即函數(建立後立即執行,只執行此次)
var fun = (function () { // do something }());
...