You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:实现按钮复制日期脚本输出至剪贴板功能

实现日期复制到剪贴板的按钮功能

先修正你原代码里的两处错误:

  • 标签不匹配:<div id="current_date"></p> 要改成 <div id="current_date"></div>
  • 脚本拼写错误:document.getElementById("current_date").inn 是不完整的,需补全为 document.getElementById("current_date").innerHTML

下面是带复制功能的完整代码,直接就能用:

<html>
  <div id="current_date"></div>

  <script>
    // 生成并渲染日期
    const date = new Date();
    const year = date.getFullYear();
    const month = date.getMonth() + 1;
    const day = date.getDate();
    const dateText = `${year}-${day}-${month}`;
    document.getElementById("current_date").innerHTML = dateText;

    // 复制日期到剪贴板的函数
    function copyDate() {
      navigator.clipboard.writeText(dateText)
        .then(() => {
          // 复制成功后给用户反馈
          const btn = document.querySelector("button");
          btn.textContent = "已复制!";
          setTimeout(() => btn.textContent = "Copy Date", 1500);
        })
        .catch(err => {
          console.error('复制失败:', err);
        });
    }
  </script>

  <button onclick="copyDate()">Copy Date</button>
</html>

关键说明:

  • 用navigator.clipboard.writeText()是现代浏览器推荐的剪贴板操作方式,异步且安全
  • 直接复用生成日期时的dateText变量,不用重复从DOM读取内容,更高效
  • 可选添加复制成功的文字反馈,提升用户体验
  • 如果要兼容旧浏览器,可以用下面的 fallback 方案替换copyDate函数:
function copyDate() {
  const textToCopy = dateText;
  // 创建临时输入框用于复制
  const tempInput = document.createElement('input');
  tempInput.value = textToCopy;
  document.body.appendChild(tempInput);
  tempInput.select();
  try {
    document.execCommand('copy');
    const btn = document.querySelector("button");
    btn.textContent = "已复制!";
    setTimeout(() => btn.textContent = "Copy Date", 1500);
  } catch (err) {
    console.error('复制失败:', err);
  }
  // 移除临时元素
  document.body.removeChild(tempInput);
}

内容的提问来源于stack exchange,提问作者DarkdraxH20

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:05:25