Kate Li (Taiwan)的部落格

首頁

用html5截取剪貼板

作者 zindani 時間 2020-03-05
all

2015年5月20日,星期三

今天我從GuillermoRauch那裡瞭解到,Google Chrome43現在已經在案頭和移動設備上發佈,能够修改系統剪貼板。這太棒了!從他獲得的200多條轉發中可以看出,開發者們很高興能够最終擺脫對flash的依賴。你可以在HTML5Rocks上閱讀更多關於它的資訊。

我希望我能加入到慶祝活動中來,但由於它並不是為了積極防止剪貼板被劫持而實現的,所以我很失望。

剪貼板劫持是對系統剪貼簿的有意修改,其內容不是用戶所期望的。如果你曾經從一篇新聞文章中抄襲文字並粘貼到一個朋友身上,卻發現了一個侵入性的廣告,那你就是親身經歷過的。

下麵是一個五歲大的勇敢的火球柱的例子:

閱讀更多:http://daringfireball.net/2010/05/tynt_copy_paste_jecks/#ixzz0oyLiD4Qh

另一方面,五年前還有另一篇文章,它說明開發人員認為剪貼板劫持是一種積極的做法。

不,不,不,不!

這是一個比自動播放視頻、聲音和快顯視窗更大的問題。他們正在死亡,但從來沒有破壞性。新的驚人功能正在添加到網絡平臺,如:網絡監視器和麥克風訪問,位置訪問等,可用於任何網站,但需要用戶許可才能使用。

Q:那麼Chrome是怎麼搞砸的呢?A:他們不會提示進入剪貼板!

我在下麵創建的演示,在幾分鐘內就完成了,只需要一個“隱藏”的文字區域技巧和一個非常常見的mouseup事件。如果下麵的演示不適合你,那是個好消息!你不會受影響的。

mouseup

我在Chromium 42、Google Chrome 43和mobilechrome42中測試了這個演示。在所有情况下,瀏覽器允許我選擇,然後複製虛假的無意義到我的剪貼板。更糟糕的是,在案頭版的Chrome中,使用textarea.select()實際上取消了文字的選擇,使得不可能執行真正的作業系統級複製命令。

textarea.select()

更詳細的演示,看看帕特里尅特納的thisfork。在本例中,文字保持選中狀態,這意味著用戶的剪貼板受到影響的anidea更少。

我在Mozilla開發平臺Google的一個小組中發表了我的發現,討論了實現和發佈這一特性的內容,並希望說服他們在這裡為用戶做正確的事情。我仍然需要弄清楚如何讓Google Chrome開發人員知道我的意見,希望這篇文章能以某種管道傳達給他們。