欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

跨瀏覽器開發(fā)經(jīng)驗總結(jié)(四) 怎么寫入剪貼板

 更新時間:2010年05月13日 19:34:22   作者:  
讓你的操作剪切板的操作支持多瀏覽器,一般IE,Firefox
IE、 Firefox可以支持JavaScript往剪貼板寫入內(nèi)容
IE可以很方便的支持剪貼板內(nèi)容寫入命令,可以使用execCommand(),也可以利用window.clipboardData。

使用execCommand,需要先從頁面選中要復(fù)制到剪貼板的內(nèi)容,如以下代碼:
復(fù)制代碼 代碼如下:

var doc = obj.createTextRange();
doc.select();
doc.execCommand('copy');

使用window.clipboardData的方法如下,代碼中同時實現(xiàn)了Firefox下寫入剪貼板的功能:
復(fù)制代碼 代碼如下:

if(window.clipboardData) //IE
{
window.clipboardData.clearData();
window.clipboardData.setData("Text", txt);
}
else if (window.netscape)
{
try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
}
catch (e)
{
alert("please visit 'about:config' and set signed.applets.codebase_principal_support as 'true'");
//提示用戶開放瀏覽器的安全性設(shè)置
}

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 = txt;
str.data = copytext;
       trans.setTransferData("text/unicode",str,copytext.length*2);
var clipid = Components.interfaces.nsIClipboard;
if (!clip)
return;
       clip.setData(trans,null,clipid.kGlobalClipboard);
}

以上代碼可以實現(xiàn)在IE、Firefox中往剪貼版寫入自定義內(nèi)容,但是opera和webkit內(nèi)核瀏覽器對安全性要求更高,不支持這種javascript直接操作剪貼板內(nèi)容的方式,只能通過別的腳本語言“曲線救國”了。

Opera 、Safari、Chrome使用ActionScript往剪貼板寫入內(nèi)容

具體的實現(xiàn)可以將原本的動作按鈕用flex或flash實現(xiàn)其外觀,替換原來的圖片或文字按鈕,然后在點擊該按鈕時,執(zhí)行以下ActionScript腳本:

//從瀏覽器環(huán)境中獲得需要寫入到剪貼板的內(nèi)容

var s:String = String(ExternalInterface.call("getURL4Clipboard")); //getURL4Clipboard是頁面上return剪貼板內(nèi)容的javascript方法

//設(shè)置剪貼板內(nèi)容

System.setClipboard(s);

//調(diào)用完成設(shè)置剪貼板內(nèi)容后需要繼續(xù)的JavaScript函數(shù),比如提示用戶信息等

ExternalInterface.call("copyURLCompleted"); //copyURLCompleted是頁面上的javascript方法,繼續(xù)執(zhí)行復(fù)制后的工作

相關(guān)文章

  • JS基于對象的特性實現(xiàn)去除數(shù)組中重復(fù)項功能詳解

    JS基于對象的特性實現(xiàn)去除數(shù)組中重復(fù)項功能詳解

    這篇文章主要介紹了JS基于對象的特性實現(xiàn)去除數(shù)組中重復(fù)項功能,結(jié)合實例形式較為詳細的分析了js基于key值唯一性實現(xiàn)數(shù)組去重的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-11-11
  • 一文帶你理解JS中的原型和原型鏈

    一文帶你理解JS中的原型和原型鏈

    在學(xué)習(xí)JavaScript中的繼承機制時,我們常常會遇到原型和原型鏈這兩個概念,在初學(xué)階段,不理解這些概念很容易陷入迷茫,甚至?xí)?dǎo)致學(xué)習(xí) JS 的路程變得曲折,本文將介紹JavaScript原型和原型鏈的概念、設(shè)計思想以及相關(guān)的使用方法,需要的朋友可以參考下
    2023-07-07
  • 微信小程序?qū)崿F(xiàn)狼人殺小游戲的示例詳解

    微信小程序?qū)崿F(xiàn)狼人殺小游戲的示例詳解

    狼人殺是一款多人參與的,通過語言描述推動、較量口才和分析判斷能力的策略類桌面游戲。本文將利用小程序?qū)崿F(xiàn)這一游戲,需要的可以參考一下
    2022-03-03
  • 淺談layui使用模板引擎動態(tài)渲染元素要注意的問題

    淺談layui使用模板引擎動態(tài)渲染元素要注意的問題

    今天小編就為大家分享一篇淺談layui使用模板引擎動態(tài)渲染元素要注意的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • js三種排序算法分享

    js三種排序算法分享

    近來無聊,翻出來大學(xué)時候的數(shù)據(jù)結(jié)構(gòu)教材來看。突然想起,大學(xué)時候就想過用js實現(xiàn)基本的排序算法的事情,反正閑來無事,便寫出來后記錄于此
    2012-08-08
  • JS實現(xiàn)判斷移動端PC端功能

    JS實現(xiàn)判斷移動端PC端功能

    這篇文章主要介紹了JS實現(xiàn)判斷移動端PC端功能,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Javascript動態(tài)創(chuàng)建表格及刪除行列的方法

    Javascript動態(tài)創(chuàng)建表格及刪除行列的方法

    這篇文章主要介紹了Javascript動態(tài)創(chuàng)建表格及刪除行列的方法,涉及javascript動態(tài)操作表格的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • VSCode Webview中實現(xiàn)點擊下載圖片的基本流程

    VSCode Webview中實現(xiàn)點擊下載圖片的基本流程

    這篇文章主要介紹了VSCode Webview中如何實現(xiàn)點擊下載圖片,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • JavaScript之ECharts用法講解

    JavaScript之ECharts用法講解

    這篇文章主要介紹了JavaScript之ECharts用法講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • JS 攔截全局ajax請求實例解析

    JS 攔截全局ajax請求實例解析

    這篇文章主要介紹了JS 攔截全局ajax請求實例解析的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11

最新評論