javascript - 使用 FireFox、Safari 和 Chrome 在剪贴板上复制/放置文本

标签 javascript dom clipboard

在 Internet Explorer 中,我可以使用 clipboardData 对象访问剪贴板。我如何在 FireFox、Safari 和/或 Chrome 中执行此操作?

最佳答案

出于安全原因,Firefox 不允许您在剪贴板上放置文本。但是,使用 Flash 有一个解决方法。

function copyIntoClipboard(text) {

    var flashId = 'flashId-HKxmj5';

    /* Replace this with your clipboard.swf location */
    var clipboardSWF = 'http://appengine.bravo9.com/copy-into-clipboard/clipboard.swf';

    if(!document.getElementById(flashId)) {
        var div = document.createElement('div');
        div.id = flashId;
        document.body.appendChild(div);
    }
    document.getElementById(flashId).innerHTML = '';
    var content = '<embed src="' +
        clipboardSWF +
        '" FlashVars="clipboard=' + encodeURIComponent(text) +
        '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    document.getElementById(flashId).innerHTML = content;
}

唯一的缺点是这需要启用 Flash。

来源目前已死亡:http://bravo9.com/journal/copying-text-into-the-clipboard-with-javascript-in-firefox-safari-ie-opera-292559a2-cc6c-4ebf-9724-d23e8bc5ad8a/ (它的 Google cache 也是如此)

关于javascript - 使用 FireFox、Safari 和 Chrome 在剪贴板上复制/放置文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/127040/

相关文章:

java - 无法从 Mac OS X 上的后台 Java 应用程序监视系统剪贴板更改

clipboard - 无法从 Vim 粘贴到 Intellij Idea

使用 CORS 的 Javascript 和 angularjs

javascript - 使用 Jest 无法从 'ReactNative' 找到模块 'react-native.js'

Javascript 无法在另一个函数内调用数组推送

javascript - 如何在 JavaScript 中克隆构造函数?

javascript - 在 XML 文件中添加新联系人时如何生成/写入 ID(字母数字)

javascript - 获取标签的innerHtml文本不起作用,但innerText可以工作

python - 如何在 Python 的 xml.dom.minidom 中设置元素的 id?

java - 在Java中复制一些文本后如何获取系统剪贴板图像?