鼠标选中的文字分享到微博
来源:互联网 发布:如何看淘宝商品的类目 编辑:程序博客网 时间:2024/04/29 23:06
原文地址:http://www.rainweb.cn/article/mouse-selection-weibo.html
腾讯新闻、新浪新闻有一个常见功能,就是当鼠标选中一段文字时会浮现一个小图片,点击这个图片可以把选中内容发送到微博,原理很简单,先获得鼠标选 中文字,然后调用博客中提供的页面,把文字作为参数传过去就OK了。【有个小问题就是,选中的文字有特殊字符会报错,需要过滤一下】
分三步走:
1、文字的选中
区分document.selection和
window.getSelection();
document.selection只有IE支持,而对于window.getSelection(),查了一些资料:FireFox和 Safari支持,都不是标准语法,但我在 opera与chrom里都测试通过。原来网上的好多也不靠谱,自己测试才是王道。
其中selection 对象代表了当前激活选中区,即高亮文本块,或文档中用户可执行某些操作的其它元素。selection 对象的典型用途是作为用户的输入,以便识别正在对文档的哪一部分正在处理,或者作为某一操作的结果输出给用户。
监听实现文字选中代码:
JavaScript代码
- if (document.selection) {
- r = document.selection.createRange().text;
- }
- else if (window.getSelection()) {
- r = window.getSelection();
- }
2、tip显示
对于tip的显示不做多解释,这没什么可说的,即鼠标选中后弹出tip提示
JavaScript代码
- var bowen = "发送到新浪微博";
- var tooltip = "<div id='tooltip' class='tooltip'><span onclick=ask('"+r+"')>" + bowen + "</span></div>";
- $("body").append(tooltip);
- $("#tooltip").css({
- "top": (e.pageY + y) + "px",
- "left": (e.pageX + x) + "px",
- "position": "absolute"
- }).show("fast").mouseout(function(){
- $(this).remove();
- });
CSS代码
- .tooltip
- {
- width:120px;
- height:23px;
- line-height:23px;
- background-color:#CCCCCC;
- cursor:pointer;
- }
- .tooltip span
- {
- color: #333333;
- display: block;
- font-size: 12px;
- font-weight: bold;
- text-indent: 10px;
- }
3、选中的文字作为参数提交给微博提供的接口
这里以新浪微博做例子:
XML/HTML代码
- function ask(r) {
- r=r.replace(/\s/g,"");
- r=r.replace(/\n/g,"");
- if (r != "") {
- window.location.href="http://v.t.sina.com.cn/share/share.php?searchPic=false&title="+r+"&url=http://www.rainweb.cn";
- }
- }
查看实例
你好你好你好你好你好你好你好你好【选中我测试】【选中我测试】【选中我测试】【选中我测试】。
- 鼠标选中的文字分享到微博
- 获取鼠标选中的文字 JS
- 取消鼠标拖动选中文字的方法
- 获取鼠标选中文字
- 选中文字新浪分享
- 选中文字弹出分享
- 获取鼠标选中文字 MFC
- 鼠标滑过选中文字
- 鼠标点击不选中文字
- 用CSS美化被鼠标选中的文字的样式
- JS获取页面里鼠标选中的文字
- 如何获取页面上鼠标选中的文字
- ubuntu 修改鼠标左键选中文字的颜色
- Chrome 鼠标左键选中文字自动关闭的问题
- 如何获到其它进程鼠标选中的文字
- ubuntu 修改鼠标左键选中文字的颜色
- Ubuntu 火狐浏览器鼠标选中文字被删除的解决办法
- getSelection 选中文字分享效果
- 【转】javascript操作数组
- 如何远程连接MySQL
- 【多媒体基础知识】 ---常见音频编码格式总结
- 在Eclipse中使用JUnit4进行单元测试(中级篇)
- js调用可执行性(exe)文件
- 鼠标选中的文字分享到微博
- Dalvik——如何控制vm
- 在Eclipse中使用JUnit4进行单元测试(高级篇)
- 成为Java高手的25个学习要点
- 让UltraEdit_17.30.0支持Verilog HDL
- AndroidManifest.xml中一些常用的属性
- 二叉树的相关操作
- Android-ListView中嵌套(ListView)控件时的问题
- 一键自动填写IP地址的方法