【发布时间】: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