针对IE,修改clipboradData
来源:互联网 发布:淘宝致远名表 编辑:程序博客网 时间:2024/05/20 17:23
clipboradData是IE浏览器支持的window对象
如果我们想要在用户复制页面上的内容到剪贴板时,在他所复制的内容本身之外,再加上其它的一些东西,如文章的网址,版权等,我们就需要操作剪贴板对象了。
剪贴板的操作很简单,以最简单的思维,是这样:
1.将剪贴板中的内容取出;
2.字符串拼接上,我们想要加入的数据;
3.再将处理后的字符串,写回剪贴板。
代码如下:
onload = function () { var body = document.getElementsByTagName("body")[0]; body.oncopy = function () { var txt = window.clipboardData.getData("text"); txt += "\r\n文章来自此处http://www.cnlogs.net"; window.clipboardData.setData("text", txt); }; }结果呢?不如人意。
每次剪贴板粘贴出来的内容,都是上次复制的东西,但经过跟踪看到上面的代码,确实执行了,但有一个小细节,必须得注意,那就是当我们跟踪到txt(也就是从剪贴板取出来的内容),都不是刚刚复制的东西,因此,我们总是得不到想到的结果。
为什么?
其实,思路是没有错的,只是剪贴板的延时,导致我们每次操作的都是上次复制的东西,找到的出问题的地方,那解决问题也就简单了。既然剪贴板有延时,那我们就等他一下就好。让他过一段时间再执行,就OK啦(这里的一段时间,仅仅是几毫秒而已);
给body.oncopy加上setTimeout,就没问题了。
body.oncopy = function () { setTimeout(function () { var txt = window.clipboardData.getData("text"); txt += "\r\n文章来自此处http://www.cnlogs.net"; window.clipboardData.setData("text", txt); }, 100); };
0 0
- 针对IE,修改clipboradData
- js、c#修改ie设置,针对注册表的修改
- clipboradData对象
- 针对IE 编写CSS
- Hack 只针对IE
- css 针对IE的新方法
- 针对IE的浏览器兼容
- 针对IE的条件注释
- 针对IE的CSS hack
- css针对不同版本ie
- IE修改
- 针对IE版本解释的CSS
- 针对IE的CSS hack 全面 实用
- IE针对Ajax请求结果的缓存
- 针对IE的CSS hack 全面 实用
- javascript针对IE的文档加载IEContentLoaded
- 比较全的针对ie的hack
- 针对ie应该使用不同的css
- sscanf()
- Xcode 联编系统
- 南大软院大神养成计划NO.1
- 路径中 斜杠/和反斜杠\ 的区别
- MongoDB小结07 - update【$pop】
- 针对IE,修改clipboradData
- setTimeOutInMilliSeconds
- Android SDK 更新——使用镜象网站
- hibernate中表的复合主键映射表
- MongoDB小结08 - update【$pull】
- qsort 用法详解
- CentOS 7-Zip安装与命令用法
- 3-1 Point类的构造函数
- cout 格式化输出