栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

单击后如何以编程方式将异步相关内容复制到剪贴板?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

单击后如何以编程方式将异步相关内容复制到剪贴板?

这是基于您的代码段的工作超时方法:

HTML:

<div id="container">Enter Text To Copy</br><textarea id="clipboard"></textarea></div><input type="button" value="Copy" id="copy"/>

JS:

var timeout = 600; // timeout based on ajax response timevar loaded = false;function loadContent() {  loaded = false;  $.getJSON('http://prepen.io/gkohen/pen/QbvoQW.js',function(result){    document.getElementById("clipboard").value = result.lorem;    loaded = true;  });}// Copy text as textfunction copy() {  clipboard = document.getElementById("clipboard");  if (!loaded || clipboard.value.length == 0) {    alert("Ajax timeout! TIP: Try to increase timeout value.");    return;  }  clipboard.focus();  clipboard.select();  if (document.execCommand('Copy'))    alert("Successfuly coppied to clipboard!");  // set defaults  clipboard.value = "";  loaded = false;}document.addEventListener("DOMContentLoaded", function(){  document.getElementById("copy").onmousedown = loadContent;  document.getElementById("copy").onclick = function() {    setTimeout(copy, timeout); // wait for ajax  }});

主要问题是execCommand规范。关于安全性和可信操作有一些限制。因此,您必须进行事件调用复制和ajax调用。这可以通过固定的超时(上面的代码)或适当的方式(通过易碎的睡眠)来完成。这里提到了新的睡眠功能,也许可以通过clearTimeout将其修改为易碎的变体,但是我没有尝试。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/406681.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号