本文主要是介绍解决ios17无法复制的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原代码写过一片js实现复制的代码 那段代码有问题 以下是之前写的一段有问题的原代码:
let url = "kkkkkk";const hiddenTextarea = document.createElement("textarea");hiddenTextarea.style.position = "absolute";hiddenTextarea.style.left = "-9999px";hiddenTextarea.setAttribute("readonly", "");hiddenTextarea.value = url;document.body.appendChild(hiddenTextarea);hiddenTextarea.select();hiddenTextarea.focus();document.execCommand("copy");showToast("复制成功");// 清除虚拟焦点元素document.body.removeChild(hiddenTextarea);
之前ios都是好好的 奈何ios升级了17版本 于是我的复制就不生效了 不过又发现一段新代码 尝试了下 ios17可正常复制
修改后:
const textarea = document.createElement("textarea");textarea.style.position = "fixed";textarea.style.top = 0;textarea.style.left = 0;textarea.style.border = "none";textarea.style.outline = "none";textarea.style.resize = "none";textarea.style.background = "transparent";textarea.style.color = "transparent";textarea.value = url; // 修改文本框的内容document.body.appendChild(textarea);textarea.select(); // 选中文本try {const msg = document.execCommand("copy") ? "复制成功" : "复制失败";// H.$toast("复制成功");showToast(`${msg}`);} catch (err) {// alert("unable to copy", err);// H.$toast("复制失败");showToast("复制失败");}document.body.removeChild(textarea);
原因可能是第一段代码中的 hiddenTextarea.setAttribute("readonly", "");";
设置导致在iOS 17上无法复制。而第二段代码中,将这个属性删除,从而在iOS 17上可以正常复制。
so 问题得到正常解决!~
这篇关于解决ios17无法复制的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!