js平穩退化,性能考慮(javascript DOM 編程藝術)

關於彈出窗口

應該只在絕對必要情況下才使用彈出窗口,因爲這將牽涉到網頁的可訪問性問題,例如,用戶使用的屏幕讀取軟件無法向用戶說明彈出了窗口。因此如果網頁上的某個鏈接將彈出窗口,最好在這個鏈接本身的文字中予以說明。


JavaScript使用window對象的open()方法來創建新的瀏覽器窗口。這個方法有三個參數

window.open(url,name,features)

三個參數均爲可選,

第一個參數是想在新窗口裏打開的網頁的url 地址,如果省略這個參數,屏幕上將會彈出一個空白的瀏覽器窗口。

第二個參數是新窗口的名字,可以在代碼裏通過這個名字與新窗口進行通信。

最後一個參數是一個以逗號分隔的字符串,其內容是新窗口的各種屬性。這些屬性包括新窗口的尺寸(寬度和高度)以及新窗口被啓用或禁用的各種瀏覽功能(工具條,菜單條,初始顯示位置,等等)。對於這個參數應該掌握以下原則:新窗口的瀏覽功能要少而精。

window.open("http://baidu.com","新的窗口","width=320px,height=480");


"javascript" 僞協議 在HTML文檔裏通過javascript 僞協議 調用JavaScript代碼的做法非常不好

<a href="javascript:pop()" title="The Famous clock" >點擊執行pop()函數</a>


<a href="#" onclick="pop('http://baidu.com'); return false;">例子</a>

因爲上面這條HTML指令裏使用了return false; 語句,這個鏈接不會真正的打開。‘#’ 符號是一個僅供文檔內部使用的鏈接符號(單就這條指令而言,“#”是未指向任何目標的內部鏈接)。在某些瀏覽器裏,“#”鏈接指向當前文檔開頭,把 href 屬性的值設爲 “#” 只是爲了創建一個空鏈接。實際工作全部由onclick 屬性負責完成。

這種做法也不行,一旦用戶禁用了瀏覽器的JavaScript功能,這樣的鏈接將毫無用處,



分離JavaScript



一般來說,根據HTTP規範,瀏覽器每次從同一個域名中最多隻能同時下載兩個文件。而在下載腳本期間,瀏覽器不會下載其他任何文件,即使是來自不同域名的文件也不會下載,所有其他資源都要等腳本加載完畢之後才能下載。

把<script>標籤放在文檔的末尾,</body>標記之前就可以讓頁面變得更快,

加快加載速度,還可以使用工具壓縮腳本。


代碼壓縮工具,

1)Uglify http://lisperator.net/uglifyjs/
2)雅虎的 YUI Compressor http://developer.yahoo.com/yui/compressor/
3)谷歌的 Closure Compiler https://developers.google.com/closure/compiler/




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章