我目前正在开发一个 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 开发控制台会说它找不到文件。
感谢您的任何帮助,您可以提供。