我有一个列出大量数据的网格。对于每个数据,我都有一个将特定行数据复制到系统剪贴板的按钮。
行按钮/链接调用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?