使用document.execCommand('copy',false,null)复制到剪贴板仅在MS浏览器中有效

时间:2018-10-24 15:52:50

标签: javascript

我有一个列出大量数据的网格。对于每个数据,我都有一个将特定行数据复制到系统剪贴板的按钮。

行按钮/链接调用javascript方法,在该方法中,我调用MVC控制器方法并将数据传递到textarea(应用样式以使其不可见)。

直到几天前,它才可用于所有浏览器(主要需要在IE,Edge,Chrome和Safari中运行)。现在代码不起作用了。

我的javascript方法是这样的:

function copytoclip(id)
{
$.get('/controller/details',{'commentid':id},function(data)
{
var txt=document.getElementById('<%=txtcontrol.ClientID%>');
txt.value=data;
txt.textContent=data;

txt.select();

try{

//Below line returns false always in Chrome and Safari
var res=document.execCommand('copy',false,null);

if(res)
{alert('Copy to clipboard successful');}
else
{alert('Your browser doesn't support clipboard access');}
}
catch(err)
{alert(err.message);}
});    
}

在Chrome和Safari中,结果(res)始终为false。我试图将URL(http://servername:portname-在本地主机上运行;即使DNS暂存失败,也是如此)添加到Chrome浏览器的受信任站点列表中,以方便剪贴板访问。

谁能说明为什么execCommand总是在Chrome和Safari中返回false?

0 个答案:

没有答案