四、最佳實踐

一、平穩退化
在瀏覽器不支持js或者用戶禁用了js腳本的情況下,仍然可以訪問你的網站,這就是平穩退化。

Tips:創建新的瀏覽窗口 window.open(url,name,features)

javascript: 偽協議
<a href = "javascript:pupUp('http://www.example.com/');">Example</a>
支持偽協議的瀏覽器中會運行正常,但是不支持的偽協議的瀏覽器或者禁用js腳本時就會失敗,
所以,在html文檔中使用偽協議調用js代碼的做法十分不好

內嵌的事件處理函數
<a href = "#" onclick = "popUp('http://www.example.com/');return false;">Example</a>
如果用戶禁用了js功能,這個鏈接同樣地毫無用處。

以上兩種方式都不能做到平穩退化。
有效的做法:
<a href = "http://www.example.com/" onclick = "pupUp(this.getAttribute('href'));return false;">Example</a> TIps:this.getAttribute('href');可以修改為this.href;

漸進增強
所謂漸進增強就是用一些額外的信息層去包裹原始數據,按照“漸進增強”原則創建出來的網頁幾乎都符合“平穩退化”的原則。
將CSS代碼或者JS代碼從HTML文檔中分離出來,放在外部文件中。
CSS引入到HTML文檔的head部分:<link rel = "stylesheet" src = "文件路徑" >

分離JS:
window.onload = prepareLinks;
function prepareLinks(){
var links = document.getElementsByTagName("a");

for(var i=0;i<links.length;i++){

if(links[i].getAttribute("class") = "pupUp"){

links[i].onclick = function(){

popUp(this.getAttribute("href"));

return false;

}

}

}

}
行為應該與表現分離的原則!

向后兼容
解決兼容較老的瀏覽器不支持js代碼的情況。
對象檢測:在使用js方法之前,先檢測其是否支持該語句:
if(!document.getElementById) return false;

瀏覽器嗅探技術
利用此技術來提取瀏覽器供應商提供的信息來解決向后兼容的問題。

性能考慮:
盡量少訪問DOM和盡量減少標記:通過使用變量的方式
合并和放置腳本:盡量將腳本文件都放在一個外部腳本文件中,這樣可以減少加載頁面時發送的請求數量。
壓縮腳本:指的是把腳本文件中不必要的字節,如空格、注釋等,統統刪除,從而達到“壓縮文件”的目的,減少整體文件的大小。
這樣的話,我們一般需要兩個版本,一個是工作副本,一個是精剪副本,為了區分,精剪副本的文件名加上min的字樣。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容