jquery bookmark links

时间:2011-04-02 作者:Andrew

我在jQuery中获得了社交书签,但如何在这段代码中获得帖子标题和永久链接?如果我把<?php echo get_permalink(); ?> 在那里,整个网站都是空白的。

$(\'a[rel=shareit-twitter]\').attr(\'href\', \'http://twitter.com/home?status=\' + title + \'%20-%20\' + title);
更新时间:

以下是书签的整个jQuery:

<script type="text/javascript">
   jQuery(
    function() {
         //grab all the anchor tag with rel set to shareit
    $(\'a[rel=shareit], #shareit-box\').click(function(e) {      
         e.preventDefault();
        //get the height, top and calculate the left value for the sharebox
        var height = $(this).height();
        var top = $(this).offset().top;

        //get the left and find the center value
        var left = $(this).offset().left + ($(this).width() /2) - ($(\'#shareit-box\').width() / 2);     

        //grab the href value and explode the bar symbol to grab the url and title
        //the content should be in this format url|title
        var value = $(this).attr(\'href\').split(\'|\');

        //assign the value to variables and encode it to url friendly
        var field = value[0];
        var url = encodeURIComponent(value[0]);
        var title = encodeURIComponent(value[1]);

        //assign the height for the header, so that the link is cover
        $(\'#shareit-header\').height(height);

        //display the box
        $(\'#shareit-box\').show();

        //set the position, the box should appear under the link and centered
        $(\'#shareit-box\').css({\'top\':top, \'left\':left});

        //assign the url to the textfield
        $(\'#shareit-field\').val(field);

        //make the bookmark media open in new tab/window
        $(\'a.shareit-sm\').attr(\'target\',\'_blank\');

        //Setup the bookmark media url and title
        $(\'a[rel=shareit-mail]\').attr(\'href\', \'http://mailto:?subject=\' + title);
        $(\'a[rel=shareit-facebook]\').attr(\'href\', \'http://www.facebook.com/share.php?u=\' + url + \'&title=\' + title);
        $(\'a[rel=shareit-posterous]\').attr(\'href\', \'http://posterous.com/share?linkto=\' + url + \'&title=\' + title);
        $(\'a[rel=shareit-twitter]\').attr(\'href\', \'http://twitter.com/home?status=\' + title + \'%20-%20\' + title);
    });

    //onmouse out hide the shareit box
    $(\'#shareit-box\').mouseleave(function () {
        $(\'#shareit-field\').val(\'\');
        $(this).hide();
    });

    //hightlight the textfield on click event
    $(\'#shareit-field\').click(function () {
        $(this).select();
    });
});
  </script>

1 个回复
最合适的回答,由SO网友:hakre 整理而成

您必须输出propper HTML才能使其正常工作。

具体来说,href属性需要包含URL和标题,标题之间用|符号分隔,如<a href="http://example.com/post-url|post-title" rel="shareit" ....

这将允许您在上面发布的脚本使用具体的URL和标题。

由于我不知道您的主题中的PHP代码,因此我无法进一步提示您如何输出正确的URL或标题,但可能<?php the_permalink(); ?>|<?php the_title(); ?> 也许可以。

注意,编码确实适用。

结束

相关推荐

如何处理不同版本的jQuery?

例如,如果您在使用jQuery 1.5的网站上有一个插件。并希望通过实现一个使用较旧版本jQuery的脚本来创建一个新插件,例如1.3。x或1.4。十、我知道这可能取决于调用的jQuery函数,但如果您真的必须同时使用1.5和一些较旧版本的jQuery。。你会如何处理这种情况?甚至可以同时使用两个不同版本的jQuery而没有缺点吗?谢谢