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