微博页面分析(一)

最近在看新浪微页面的代码,看到很多的死链接,分析一下。

(一)锚点是#top 也就是网页的上端,预先定义好的一个名称
            而javascript:void(0);仅仅表示一个死链接

‍            <a href="javascript:void(0);"></a>

‍            <a href="#"></a>

(二)onclick="return false;"

            此处的动作不会执行,不会跳到其它页面,除非浏览器禁用了js.

举一个例子:

<a href="http://www.nojs.com" onclick="doSomething(); return false;">Click Me</a>  

<a href="http://www.nojs.com" onclick="doSomething(); return false;">Click Me</a>

在上面的例子中,如上面所说点击(click)这个链接,那么动作进行将会截止到doSomething()函数全部完成,而并不会继续跳转到"http://www.nojs.com"(除非IE等浏览器端禁用了JavaScript)。

为了让上面的例子继续进行下一步,我们可以放置一个confirm函数强迫用户去决定他们是否愿意继续跳转,如果用户选择“是”,那么函数返回ture,页面跳转到“http://www.nojs.com”。

 如下面这个例子:

Js代码 <a href="http://www.nojs.com" onclick="return confirm('Are you sure you want to do that?');">Click Me</a>  
<a href="http://www.nojs.com" onclick="return confirm('Are you sure you want to do that?');">Click Me</a>

 

最后还有个小技巧,当我用AJAX或触发一个div时,出现了一个让我恼火的情况,我点击了链接并且click事件已经完成,虽然链接没有跳转但还是变成了还是被选中过的颜色。虽然这无关紧要,但还是有一个办法可以不让这个发生,简单的说,可以模糊(blur)这个焦点让他看上去不是焦点

 

来看一个简单的例子:

Js代码
  1. <a href="" id="bjd" onclick="Element.toggle('MyDiv'); $('bjd').blur(); return false;">Toggle MyDiv</a>  
<a href="" id="bjd" onclick="Element.toggle('MyDiv'); $('bjd').blur(); return false;">Toggle MyDiv</a>

 在上面这个例子里使用了prototype,如果你不了解prototype,你可以访问这个链接来了解一下Prototype

 

原代码中的内容如下:

<a href="javascript:void(0);" onclick="return false;" action-type="forward" action-data="fid=l4ETl61KT&uid=1134535931&mid=2111105031436719&name=%E6%9E%9C%E6%A0%8B%E5%B8%83%E4%B8%81&rootuid=1644395354&rootmid=5602136547535659825&rootname=%E5%86%B7%E7%AC%91%E8%AF%9D%E7%B2%BE%E9%80%89&allowforward=1&allowComment=1&allowRootComment=1&pic=62037b5ajw1dgt8vuaf9fj" ><strong lang="CD0023" pop="true">转发</strong><strong id="num_2111105031436719" rid="2111105031436719" type="rttCount"></strong></a>

你可能感兴趣的:(微博页面分析(一))