国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

jQuery獲取剪貼板內容的方法

2019-11-20 09:41:35
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery獲取剪貼板內容的方法。分享給大家供大家參考,具體如下:

這兩天弄fckeditor粘貼功能,隨著工作的深入和在網上查詢資料,知道了在網頁中一般是不允許訪問“剪貼板”的,因為這樣存在著很大的安全隱患,我自己也嘗試著寫了一個簡單的demo

在IE和FF中剪貼板的訪問是可控的,但是在Opera、Chrome、Safari瀏覽器中是不允許訪問的,這樣就產生了瀏覽器兼容的問題,怎么樣才能讓其他的瀏覽器兼容這個功能呢,在網上查找了一些資料――“使用flash去訪問剪貼板”,然后把得到的值給JS,這樣間接的訪問了剪貼板里面的內容了

下面的代碼只支持IE和FF,是我在網上找的DEMO,自己只是在這里匯總了一下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/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() { netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect'); var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); if (!clip) return; var trans = Components.classes['@mozilla.org/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>";  netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');  var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);  if (!clip) return;  var trans = Components.classes['@mozilla.org/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.org/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對象得到剪貼板的內容,這樣就容易導致開發(fā)人員在后臺寫一個程序記錄用戶剪貼板的內容,這樣可以把海量的數(shù)據(jù)集中起來做數(shù)據(jù)挖掘,這個對用戶的安全來說是很可怕的,因此在訪問的時候會提示用戶是否允許訪問剪貼板的內容。    </span>  </div><br>  <div>    <span>    在IE意外的瀏覽器是不允許訪問剪貼板內容的,只有拒絕才是最安全的,所以在火狐等其他瀏覽器中不能通過window.clipboardData對象來訪問剪貼板的內容    </span>  </div>  <button id="show_clipbrd">顯示剪貼板的內容</button>  <button id="set_clipbrd">給剪貼板設置信息</button></body></html>

更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery常用插件及用法總結》、《jquery中Ajax用法總結》、《jQuery表格(table)操作技巧匯總》、《jQuery拖拽特效與技巧總結》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》及《jquery選擇器用法總結

希望本文所述對大家jQuery程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 延津县| 昔阳县| 涿州市| 玉屏| 黄陵县| 塔城市| 寿光市| 闽清县| 西安市| 蓝田县| 许昌县| 铜梁县| 玛多县| 凤凰县| 林周县| 临颍县| 化德县| 勐海县| 平山县| 广宗县| 凉城县| 贵阳市| 齐河县| 武清区| 平远县| 祁东县| 武山县| 商河县| 日喀则市| 黄山市| 光山县| 谷城县| 漳州市| 黎川县| 五原县| 郑州市| 郓城县| 阿巴嘎旗| 松滋市| 德兴市| 虹口区|