PHP獲取數組表示的路徑方法分析【數組轉字符串】 原創
733
2023-12-08
本文實例講述了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="http://www.gimoo.net/t/1902/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對象得到剪貼板的內容,這樣就容易導致開發人員在后臺寫一個程序記錄用戶剪貼板的內容,這樣可以把海量的數據集中起來做數據挖掘,這個對用戶的安全來說是很可怕的,因此在訪問的時候會提示用戶是否允許訪問剪貼板的內容。 </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程序設計有所幫助。
#免責聲明#
本站[綠夏技術導航]提供的一切軟件、教程和內容信息僅限用于學習和研究目的;不得將上述內容用于商業或者非法用途,否則,一切后果請用戶自負。本站信息來自網絡收集整理,版權爭議與本站無關。您必須在下載后的24個小時之內,從您的電腦或手機中徹底刪除上述內容。如果您喜歡該程序或內容,請支持正版,購買注冊,得到更好的正版服務。我們非常重視版權問題,如有侵權請郵件[admin@lxwl520.com]與我們聯系進行刪除處理。敬請諒解!