關于鏈接<a>上面直接寫javascript事件的問題,今天組內討論了一下,小寫一下:
常見的寫法有:
1.<a href="javascript:fun()"></a> //直接在href屬性中執行fun事件
2.<a href="javascript:void(0)" onclick = "fun();"></a> //在onclick屬性中執行fun事件
3.<a href="#" onclick = "fun();return false;"></a> //href屬性指向"#",而onclick事件中return false阻止默認行為
最終投票決定使用第三種方法,前兩種方法在IE6都會是gif或其他可以動畫效果的東東靜止掉。。。具體原因應該是瀏覽器渲染問題吧,呵呵
第三種方法也有用到針對SEO方面的應用,比如我有一個連接是到一個靜態頁面a.html,但是由于需求方面的問題需要通過一個cgi再跳轉到a.html,如:b.cgi?uri=a.html,這樣的寫成:<a href="a.html" onclick="window.open('b.cgi?uri=a.html');return false;">XXX</a>表面上可以解決了問題,但是這種算不算是SEO的URL欺騙行為呢?