超簡單JS實現把鼠標選中文字發送到新浪微博
最近注意到新浪博客有個小功能,就是當鼠標選中一段文字時會浮現一個小圖片,點擊這個圖片可以把選中內容發送到新浪微博,一時興起昨晚就寫了一個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.rzrgm.cn/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.rzrgm.cn/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>
就這么簡單哦,大家可以自己試試哈。當然獲得選中文本還可以有其他操作,這兒只是取巧調用了新浪的頁面,大家如果有興趣可以自己創建應用自己實現。
貼幾張圖吧:

鼠標選中文字

彈出的頁面

新浪微博中顯示

浙公網安備 33010602011771號