jQuery获取剪贴板内容的方法
网络编程 2021-07-04 19:59www.168986.cn编程入门
这篇文章主要介绍了jQuery获取剪贴板内容的方法,结合实例形式分析了jQuery针对不同浏览器获取剪贴板内容的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了jQuery获取剪贴板内容的方法。分享给大家供大家参考,具体如下
这两天弄fckeditor粘贴功能,随着工作的深入和在网上查询资料,知道了在网页中一般是不允许访问“剪贴板”的,因为这样存在着很大的安全隐患,我自己也尝试着写了一个简单的demo
在IE和FF中剪贴板的访问是可控的,在Opera、Chrome、Safari浏览器中是不允许访问的,这样就产生了浏览器兼容的问题,怎么样才能让其他的浏览器兼容这个功能呢,在网上查找了一些资料——“使用flash去访问剪贴板”,然后把得到的值给JS,这样间接的访问了剪贴板里面的内容了
狼蚁网站SEO优化的代码只支持IE和FF,是我在网上找的DEMO,自己只是在这里汇总了一下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://.w3./TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://.w3./1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <script src="lib/jquery-1.6.4.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready( function(){ $("#show_clipbrd").click(function(){ if($.browser.msie){ ie_Show(); }else{ ff_show(); } }); $("#set_clipbrd").click(function(){ if($.browser.msie){ ie_set(); }else{ ff_set(); } }); } ); function ie_Show() { //得到剪贴板的内容 var str1=window.clipboardData.getData("text"); alert(str1); } function ff_show() { scape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var clip = Components.classes['@mozilla./widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); if (!clip) return; var trans = Components.classes['@mozilla./widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); if (!trans) return; trans.addDataFlavor('text/unicode'); clip.getData(trans, clip.kGlobalClipboard); var str = new Object(); var len = new Object(); try { trans.getTransferData('text/unicode', str, len); } catch(error) { return null; } if (str) { if (Components.interfaces.nsISupportsWString) str = str.value.QueryInterface(Components.interfaces.nsISupportsWString); else if (Components.interfaces.nsISupportsString) str = str.value.QueryInterface(Components.interfaces.nsISupportsString); else str = null; } if (str) { alert(str.data.substring(0, len.value / 2)); return (str.data.substring(0, len.value / 2)); } return null; } function ie_set(){ //显示剪贴板的内容是text类型的,给剪贴板的赋值为后面的字符串 var str1=window.clipboardData.setData("text","<strong>my name is huangbiao</strong>"); alert(window.clipboardData.getData("text")); } function ff_set(){ //将copy变量的值放到内存当中去 var copy="<strong>my name is huangbiao</strong>"; scape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var clip = Components.classes['@mozilla./widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); if (!clip) return; var trans = Components.classes['@mozilla./widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); if (!trans) return; trans.addDataFlavor('text/unicode'); var str = new Object(); var len = new Object(); var str = Components.classes["@mozilla./supports-string;1"].createInstance(Components.interfaces.nsISupportsString); var copytext = copy; str.data = copytext; trans.setTransferData("text/unicode", str, copytext.length 2); var clipid = Components.interfaces.nsIClipboard; if (!clip) return false; clip.setData(trans, null, clipid.kGlobalClipboard); alert("copy的信息为(可以用ctrl + v测试) "+copy); } </script> <title>浏览器访问剪贴板</title> </head> <body> <div> <span>在IE中是对外有接口的,可以通过window.clipboardData对象得到剪贴板的内容,这样就容易导致开发人员在后台写一个程序记录用户剪贴板的内容,这样可以把海量的数据集中起来做数据挖掘,这个对用户的安全来说是很可怕的,在访问的时候会提示用户是否允许访问剪贴板的内容。 </span> </div><br> <div> <span> 在IE意外的浏览器是不允许访问剪贴板内容的,只有拒绝才是最安全的,所以在火狐等其他浏览器中不能通过window.clipboardData对象来访问剪贴板的内容 </span> </div> <button id="show_clipbrd">显示剪贴板的内容</button> <button id="set_clipbrd">给剪贴板设置信息</button> </body> </html>
更多关于jQuery相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》、《》、《》、《》及《》
希望本文所述对大家jQuery程序设计有所帮助。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指