最近注意到新浪博客有个小功能,就是当鼠标选中一段文字时会浮现一个小图片,点击这个图片可以把选中内容发送到新浪微博,一时兴起昨晚就写了一个Demo玩了一下,代码超简单,没优化,有兴趣的朋友可以自己改进。
原理很简单,先获得鼠标选中文字,然后调用新浪博客中提供的页面,把文字作为参数传过去就OK了。
代码如下:
<
html
xmlns
="http://www.w3.org/1999/xhtml"
>
< head runat ="server" >
< title ></ title >
< style type ="text/css" >
.tooltip
{
width : 120px ;
height : 23px ;
line-height : 23px ;
background-color : #CCCCCC ;
}
.tooltip a
{
color : #333333 ;
display : block ;
font-size : 12px ;
font-weight : bold ;
text-indent : 10px ;
}
</ style >
< script src ="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" ></ script >
< script type ="text/javascript" >
$( function () {
$( " #blogContent " ).mouseup( function (e) {
var x = 10 ;
var y = 10 ;
var r = "" ;
if (document.selection) {
r = document.selection.createRange().text;
}
else if (window.getSelection()) {
r = window.getSelection();
}
if (r != "" ) {
var bowen = " 发送到新浪微博 " ;
var tooltip = " <div id='tooltip' class='tooltip'><a onclick=ask(' " + r + " ')> " + bowen + " </a></div> " ;
$( " body " ).append(tooltip);
$( " #tooltip " ).css({
" top " : (e.pageY + y) + " px " ,
" left " : (e.pageX + x) + " px " ,
" position " : " absolute "
}).show( " fast " );
}
}).mousedown( function () {
$( " #tooltip " ).remove();
});
})
function ask(r) {
if (r != "" ) {
window.open( ' http://v.t.sina.com.cn/share/share.php?searchPic=false&title= ' + r + ' &url=http://www.cnblogs.com/durongjian&source=天行健,自强不息&sourceUrl=http%3A%2F%2Fblog.sina.com.cn&content=utf-8&appkey=1617465124 ' , ' _blank ' , ' height=515, width=598, toolbar=no, menubar=no, scrollbars=auto, resizable=yes, location=no, status=yes ' );
}
}
</ script >
</ head >
< body >
< div id ="blogContent" >
2011年到了,在前几天的“2010岁末小记”中给自己定下了一个计划,其中有一条就是“每周至少写一篇技术博客。用博客的方式来督促自己学习和进步,记下学习的新知识和积累的知识点,构建自己的知识库。”。园子里高手很多,MVP就有好几位,看他们的文章真有“看君一博文,胜读四年书”之感。曾经对委托、事件云里雾里的我看了张子阳的“C#中的委托和事件”后终于明白了很多,园子里像这样的好文章还有很多,作为菜鸟我真的获益匪浅。
虽然自己现在水平很差,但高手都是从菜鸟成长起来的,因此我坚信只要努力学习,每天都有收获和进步,逐渐提高自己的编程水平,总有一天也能厚积薄发,写出一些比较好的博文与大家分享,帮助新手进步。作为新年第一篇博文,我打算写一个博客备份系统系列文章与园友们分享,晒晒自己的代码,非常欢迎大家提出意见和建议。
</ div >
</ body >
</ html >
< head runat ="server" >
< title ></ title >
< style type ="text/css" >
.tooltip
{
width : 120px ;
height : 23px ;
line-height : 23px ;
background-color : #CCCCCC ;
}
.tooltip a
{
color : #333333 ;
display : block ;
font-size : 12px ;
font-weight : bold ;
text-indent : 10px ;
}
</ style >
< script src ="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" ></ script >
< script type ="text/javascript" >
$( function () {
$( " #blogContent " ).mouseup( function (e) {
var x = 10 ;
var y = 10 ;
var r = "" ;
if (document.selection) {
r = document.selection.createRange().text;
}
else if (window.getSelection()) {
r = window.getSelection();
}
if (r != "" ) {
var bowen = " 发送到新浪微博 " ;
var tooltip = " <div id='tooltip' class='tooltip'><a onclick=ask(' " + r + " ')> " + bowen + " </a></div> " ;
$( " body " ).append(tooltip);
$( " #tooltip " ).css({
" top " : (e.pageY + y) + " px " ,
" left " : (e.pageX + x) + " px " ,
" position " : " absolute "
}).show( " fast " );
}
}).mousedown( function () {
$( " #tooltip " ).remove();
});
})
function ask(r) {
if (r != "" ) {
window.open( ' http://v.t.sina.com.cn/share/share.php?searchPic=false&title= ' + r + ' &url=http://www.cnblogs.com/durongjian&source=天行健,自强不息&sourceUrl=http%3A%2F%2Fblog.sina.com.cn&content=utf-8&appkey=1617465124 ' , ' _blank ' , ' height=515, width=598, toolbar=no, menubar=no, scrollbars=auto, resizable=yes, location=no, status=yes ' );
}
}
</ script >
</ head >
< body >
< div id ="blogContent" >
2011年到了,在前几天的“2010岁末小记”中给自己定下了一个计划,其中有一条就是“每周至少写一篇技术博客。用博客的方式来督促自己学习和进步,记下学习的新知识和积累的知识点,构建自己的知识库。”。园子里高手很多,MVP就有好几位,看他们的文章真有“看君一博文,胜读四年书”之感。曾经对委托、事件云里雾里的我看了张子阳的“C#中的委托和事件”后终于明白了很多,园子里像这样的好文章还有很多,作为菜鸟我真的获益匪浅。
虽然自己现在水平很差,但高手都是从菜鸟成长起来的,因此我坚信只要努力学习,每天都有收获和进步,逐渐提高自己的编程水平,总有一天也能厚积薄发,写出一些比较好的博文与大家分享,帮助新手进步。作为新年第一篇博文,我打算写一个博客备份系统系列文章与园友们分享,晒晒自己的代码,非常欢迎大家提出意见和建议。
</ div >
</ body >
</ html >
就这么简单哦,大家可以自己试试哈。当然获得选中文本还可以有其他操作,这儿只是取巧调用了新浪的页面,大家如果有兴趣可以自己创建应用自己实现。
贴几张图吧:
鼠标选中文字
弹出的页面
新浪微博中显示