使用javascript/flash复制到剪贴板
我目前正在从事一个PHP/HTML/Javascript项目,我试图在用户按下按钮时自动将文本复制到用户剪贴板 我做了一些研究,发现在IE中很容易做到这一点,但其他浏览器都不支持这一点,因此嵌入了一个flash文件进行复制。然而,这似乎不起作用 下面是执行复制操作的代码使用javascript/flash复制到剪贴板,javascript,flash,clipboard,Javascript,Flash,Clipboard,我目前正在从事一个PHP/HTML/Javascript项目,我试图在用户按下按钮时自动将文本复制到用户剪贴板 我做了一些研究,发现在IE中很容易做到这一点,但其他浏览器都不支持这一点,因此嵌入了一个flash文件进行复制。然而,这似乎不起作用 下面是执行复制操作的代码 function copyToClipboard() { //Copy to clipbord if IE if (window.clipboardData && clipboardData.se
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;
}
}
函数copyToClipboard()
{
//如果需要,请复制到剪贴簿
if(window.clipboardData&&clipboardData.setData)
{
window.clipboardData.setData('text','I am copy');
}
else//其他浏览器
{
警报(“其他浏览器”);
var flashcopier=‘flashcopier’;
if(!document.getElementById(flashcopier)){
var divholder=document.createElement('div');
divholder.id=闪光灯复印机;
文件.正文.附件(股东);
}
document.getElementById(flashcopier).innerHTML='';
var divinfo=“”;
document.getElementById(flashcopier).innerHTML=divinfo;
}
}
在使用IE时,它似乎工作正常,但在使用Chrome时,没有任何内容被复制到剪贴板。chrome开发工具中也没有任何错误
我知道使用上述代码嵌入的flash文件是正常的,因为如果我将src改为clipboard.swf_bulk,chrome开发控制台会说它找不到该文件
谢谢你能提供的帮助 该解决方案不再适用于Flash Player 10的发布。由于访问剪贴板数据的安全限制。你可以找到一个解决办法