【问题标题】:Copying to clipboard using javascript/flash使用 javascript/flash 复制到剪贴板
【发布时间】:2013-01-29 22:53:58
【问题描述】:

我目前正在开发一个 PHP/HTML/Javascript 项目,我正在尝试在用户按下按钮时自动将文本复制到用户剪贴板。

我做了一些研究,发现这可以在 IE 中轻松完成,但其他所有浏览器都不支持这一点,因此嵌入了一个 flash 文件来进行复制。但是,这似乎不起作用。

下面是复制代码

function copyToClipboard()
{
    //Copy to clipbord if IE
    if (window.clipboardData && clipboardData.setData)
    {
        window.clipboardData.setData('text', 'I am copied');
    }
    else //other browsers
    {
        alert("other browser");
        var flashcopier = 'flashcopier';
        if(!document.getElementById(flashcopier)) {
            var divholder = document.createElement('div');
            divholder.id = flashcopier;
            document.body.appendChild(divholder);
        }
        document.getElementById(flashcopier).innerHTML = '';
        var divinfo = '<embed src="_clipboard.swf" FlashVars="clipboard='+encodeURIComponent('other browser copied')+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
        document.getElementById(flashcopier).innerHTML = divinfo;
    }
}

使用 IE 时它似乎工作正常,但使用 Chrome 时,没有任何内容被复制到剪贴板。 chrome开发工具中也没有任何错误。

我知道使用上面的代码可以嵌入 Flash 文件,如果我将 src 更改为 clipboard.swf_rubbish,那么 chrome 开发控制台会说它找不到该文件。

感谢您提供的任何帮助。

【问题讨论】:

    标签: javascript flash clipboard


    【解决方案1】:

    该解决方案不再适用于 Flash Player 10 的发行版。因为访问剪贴板数据的安全限制。您可以找到解决方法here

    【讨论】:

      猜你喜欢
      • 2011-09-15
      • 2014-05-27
      • 1970-01-01
      • 2015-08-31
      • 2010-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多