js 在ajax中不能执行剪切板操作,document.execCommand("Copy");返回值为false

正好项目中需要用到剪切板获取返回值,思路本来是想在后台将返回值放入剪切板中,一直没有成功,查了好多资料,问了不少人,都没有解决问题,具体代码如下:在项目中获取系统剪切板时Clipboard返回值一直为空,有知道的朋友可以帮我解答一下。
        StringSelection stringSelection = new StringSelection("++++++");
        // 系统剪贴板
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        System.out.println(clipboard);
        clipboard.setContents(stringSelection, null);
        }

}

重点来了:js 在ajax中不能执行剪切板操作,document.execCommand("Copy");返回值为false

具体代码:

    <script >
function copyUrl2()
    {
      
       var oInput = document.createElement('input');
       oInput.value = "我的名字";
      
       document.body.appendChild(oInput);
        oInput.select(); // 选择对象
        document.execCommand("Copy"); // 执行浏览器复制命令
        oInput.className = 'oInput';  //创建示例
        oInput.style.display='none'; //将并将示例隐藏
        alert('复制成功');
    }
</script>
    </head>
    <body>
<div  onClick="copyUrl2()" value="点击复制代码">点击复制代码</div>
<div onClick="copyUrl1()">oahduhefh</div>                                                                                                                   
    </body>

执行代码,Ctrl+V 本应该粘贴显示为  :我的名字
但是在ajax中执行<script>中的代码 document.execCommand("Copy");返回值为false
说明没有成功,原因是ajax默认为异步执行
可以在ajax中添加下面黄字内容:async:false,  //将ajax设置为同步
    $.ajax({
                type : "POST",
                url : "copyNode.do",    
                data : da,
                async:false, 
                success : function(json) {
                                      ..........
                                            }

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值