解决ios17无法复制的问题

原代码写过一片js实现复制的代码 那段代码有问题 以下是之前写的一段有问题的原代码:

javascript 复制代码
 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可正常复制

修改后:

javascript 复制代码
  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 问题得到正常解决!~

相关推荐
北城笑笑1 天前
Git 10 ,使用 SSH 提升 Git 操作速度实践指南( Git 拉取推送响应慢 )
前端·git·ssh
FreeBuf_1 天前
攻击者利用Discord Webhook通过npm、PyPI和Ruby软件包构建隐蔽C2通道
前端·npm·ruby
科技百宝箱1 天前
02-如何使用Chrome工具排查内存泄露问题
前端·chrome
鹏多多1 天前
React无限滚动插件react-infinite-scroll-component的配置+优化+避坑指南
前端·javascript·react.js
不会算法的小灰1 天前
HTML盒子模型详解
前端·html
lifejump1 天前
文章管理系统CMS的XSS注入渗透测试(白盒)
前端·web安全·xss·安全性测试
华仔啊1 天前
Vue3 登录页还能这么丝滑?这个 hover 效果太惊艳了
前端·css·vue.js
IT_陈寒1 天前
JavaScript引擎优化:5个90%开发者都不知道的V8隐藏性能技巧
前端·人工智能·后端
云和数据.ChenGuang1 天前
Component template requires a root element, rather than just错误
前端·javascript·vue.js
mCell1 天前
为博客添加 RSS 订阅
前端·vitepress·rss