瀏覽器複製 剪下 貼上事件簡單操作示例

2022-09-24 06:33:08 字數 2193 閱讀 2967

更多參考:點這裡

每個事件都有乙個 before 事件對應:beforecopy、beforecut、beforepaste;這幾個 before 一般不怎麼用,所以我們把注意力放在三個事件就可以了。

copy事件使用示例:

我們可以看到事件物件中的屬性:

我們主要研究的是裡面的clipboarddata屬性物件

clipboarddata 物件: 用於訪問以及修改剪貼簿中的資料

clipboarddata物件中有兩個方法:

setdata():常配合copy事件使用,用於設定到剪貼簿中的值

getdata():常配合paste事件使用,用於獲取設定到剪貼簿中的值

不同瀏覽器,所屬的物件不同:在 ie

中這個物件是window物件的屬性,在chrome、safari和firefox中,這個物件是相應的event物件的屬性。所以我們在使用的時候,需要做一下如下相容:

document.body.oncopy = e => ;
copy配合getselection實現複製某段文字

注意:window.getselection().tostring()我是呼叫tostring()方法轉成文字的,如果不呼叫這個方法,直接通過window.getselection()取到值存到剪貼簿會有出奇的效果,會連同效果一起貼上(比如html格式的,會隱性地把什麼都複製進去),需要配合paste事件

通過patse事件獲取剪下板中的:

解釋:當貼上事件觸發時遍歷剪下版物件(clipboarddata)中的所有items,找到型別為的item並呼叫getasfile方法得到檔案物件

拿到file物件後我們有幾種選擇:

通過filereader得到檔案物件的base64字串

var reader = new filereader();

reader.onload = function(e)

reader.readasdataurl(file); //此處的file為上面得到的檔案物件```

通過formdata檔案物件轉換為二進位制資料

var formdata = new formdata();
通過url.createobjecturl轉成url位址預覽

var bloburl=url.createobjecturl(file)
示例**:

侷限性:

vim 複製 剪下 貼上 撤銷操作

背景知識 vim 有 12 個貼上板,分別是 0 1 2 9 a 用 reg 命令可以檢視各個貼上板裡的內容。在 vim 中簡單用 y 命令只是複製到 雙引號 貼上板裡,同樣用 p 命令貼上的也是這個貼上板裡的內容 要將 vim 的內容複製到某個貼上板,需要先退出編輯模式,再進入命令模式後,選擇要複...

瀏覽器事件

常用瀏覽器事件與dom事件,包括滑鼠事件 鍵盤事件 框架 物件事件 表單事件 剪貼簿事件 列印事件 拖動事件 多 事件 動畫事件 過渡事件。onbeforeinstallprompt 當使用者即將被提示安裝web應用程式時,該處理程式將在裝置上排程,其相關聯的事件可以儲存以供稍後用於在更適合的時間提...

瀏覽器事件

常用瀏覽器事件與dom事件,包括滑鼠事件 鍵盤事件 框架 物件事件 表單事件 剪貼簿事件 列印事件 拖動事件 多 事件 動畫事件 過渡事件。onbeforeinstallprompt 當使用者即將被提示安裝web應用程式時,該處理程式將在裝置上排程,其相關聯的事件可以儲存以供稍後用於在更適合的時間提...