超鏈接的href 和onclick引發(fā)的思考
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
1、在Baidu空間中的發(fā)現(xiàn)
Baidu空間是一個(gè)功能簡潔的Blog,但是它提供操作是比較方便的,一些常用的功能都使用模擬窗口作為界面,而不是要頁面跳轉(zhuǎn)或者新開窗口。 剛開始用的時(shí)候空間里面沒有分類,但是在創(chuàng)建文章頁提供了一個(gè)創(chuàng)建分類的功能。當(dāng)然,如前面提到的,這個(gè)功能是用模擬窗口作為界面。某天,家里的網(wǎng)速很慢,當(dāng)我按下創(chuàng)建分類的鏈接時(shí)驚奇地發(fā)現(xiàn)新開了窗口而不是彈出一個(gè)模擬窗口。 我從HTML代碼里面找到了創(chuàng)建分類的鏈接代碼: <a href=”/heero0w/creat/category/” target=”_blank” onClick=”openaddcat(’/heero0w/creat/category/’);return false;” tabindex=”-1″>增加新分類</a> 這是一種非常健壯的代碼結(jié)構(gòu),onclick里面的javascript代碼執(zhí)行后返回了false,相當(dāng)于鏈接功能被屏蔽。但是,當(dāng) javascript被禁用或者onclick里面的代碼執(zhí)行出錯(cuò)時(shí),鏈接功能還是正常的。當(dāng)網(wǎng)速很慢導(dǎo)致openaddcat函數(shù)的代碼還未被讀取時(shí), 單擊鏈接就會(huì)彈出了一個(gè)新頁面。因此,用戶點(diǎn)擊這個(gè)鏈接之后就不會(huì)出現(xiàn)什么都沒發(fā)生的情況,提高了用戶體驗(yàn)。 2、用同樣的思路進(jìn)行SEO優(yōu)化 某些網(wǎng)站的列表頁使用了AJAX進(jìn)行分頁,即換頁的時(shí)候只刷新列表的部分,而不是整頁刷新。代碼可能是 <a href=”###” onclick=”jumpPage(2)”>第二頁</a> 這種方式向來有一種缺點(diǎn):SEO非常糟糕。搜索引擎基本上是不認(rèn)識(shí)Javascript代碼的,所以它搜不到除了第一頁之后的內(nèi)容。按照上面的思路,我們需要給href加上一個(gè)有意義的鏈接,讓搜索引擎可以搜到該頁。改進(jìn)如下: <a href=”?page=2″ onclick=”jumpPage(2);return false;”>第二頁</a> 當(dāng)然,這樣寫的前提是做兩份頁面,一份是AJAX分頁時(shí)的處理請求的頁面,另一份是常規(guī)分頁頁面。 3、改進(jìn) 上面的鏈接代碼不符合HTML與Javascript分離的原則,而且在openaddcat未被讀取時(shí)按下鏈接的時(shí)候會(huì)導(dǎo)致瀏覽器報(bào)錯(cuò)(雖然功能正常),改進(jìn)的方法是后期動(dòng)態(tài)添加事件。HTML修改如下: <a href=”/heero0w/creat/category/” id=”newCate” target=”_blank” tabindex=”-1″>增加新分類</a> 在頁面底部寫上添加事件的腳本: 該文章在 2010/8/14 2:25:27 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |