Bookmarklet 实现 启动jQuery (模仿 云输入法)

最近流行的 sogo云输入法, QQ云输入法,都用到了bookmarklet技术。

书签本来是用来收藏 网址(http://momo.site.com/), 但实际上书签还可以收藏 javascript代码

只要把书签中的地址url, 换成javascript代码就可以了。

 

javascript:your_javascript_expression

上面的 javascript : 可以认为是javascript协议, 就像http: 是http协议一样。

 

 下面是 启动jQuery 书签的地址:

代码   
    javascript:(
    function(jquery_node){
        var disable = function(src_node) {
                src_node.parentNode.removeChild(src_node);
                jQuery.noConflict(1);
           };
        var enable = function(d,j){
                j=d.createElement('script');
                j.id='jquery_src_code';
                j.src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js';
                d.getElementsByTagName('head')[0].appendChild(j);
        };
         !!jquery_node ? disable(jquery_node)
                     : enable(document);
    })(document.getElementById('jquery_src_code'))

 

为了在网页上可以让用户收藏,你需要把它放入一个<a>链接中。

比如:

<a href="javascript:your_js_code" title="启动jQuery"><span>启动jQuery</span></a>


全部的代码是:

代码
<a class="how-to-install" id="bookmarklet" title="启动jQuery"
    href="
    javascript:(
    function(jquery_node){
        var disable = function(src_node) {
                src_node.parentNode.removeChild(src_node);
                jQuery.noConflict(1);
           };
        var enable = function(d,j){
                j=d.createElement('script');
                j.id='jquery_src_code';
                j.src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js';
                d.getElementsByTagName('head')[0].appendChild(j);
        };
         !!jquery_node ? disable(jquery_node)
                     : enable(document);
    })(document.getElementById('jquery_src_code'))">
<span>启动jQuery</span> </a>


结果如下:

你可以收藏上面的书签了 (右键,点击 "将此链接加为书签");

 

FireBug---》 Console ,试试 jQuery的魅力吧. 

 

jQuery('a');

$('a') 可能会失效,因为可能一开始就有 window.$对象(包含了别的js库,或网站自己定义了$对象)

 

cnblogs 的网站就使用jQuery库。

 

 

posted @ 2010-09-14 23:46  napoleon_liu  阅读(601)  评论(1编辑  收藏  举报