【问题标题】:Copy Html page source code to clipboard with JS用JS复制Html页面源代码到剪贴板
【发布时间】:2018-10-16 18:45:34
【问题描述】:

我一直在尝试通过单击按钮来复制 html 页面的源代码,目前我收到了一个错误,我已粘贴在下面。我不熟悉 .execCommand 函数以及为什么在这种情况下它会爆炸。

未捕获的类型错误:body.execCommand 不是函数 复制时 (index.js:8) 在 HTMLButtonElement。 (index.js:14)

代码:

document.addEventListener("DOMContentLoaded",function(event) {
  console.log("Domload")
  document.designMode = "on"
  var mode = document.designMode

    function copy(){
    body =  document.getElementsByTagName("BODY")[0]
    body.execCommand('copy')
    // .execCommand("copy")
    }

    var button = document.getElementsByClassName("copybutton")
    console.log(button)
    button[0].addEventListener("click",function(){copy()})


})

【问题讨论】:

  • execCommend 不是附加到 body 元素的方法。它是document 的成员。你想要document.execCommand('copy')
  • 当您说页面来源时,您的意思是您想要 HTML 标记吗?还是您只想要页面上的文字? execCommand() 只会复制页面上选择的文本,而不是 HTML 结构。
  • @skyline3000 理想情况下,我希望能够复制 html 结构,目前正在尝试使用文本框来完成。

标签: javascript html clipboard clipboarddata


【解决方案1】:

Bro Code 似乎很完美,但小问题是您忘记将 body 定义为变量,所以改为

body = document.getElementsByTagName("body")[0];

替换为

var body = document.getElementsByTagName("body")[0];

见证奇迹发生。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    • 2015-08-08
    • 1970-01-01
    相关资源
    最近更新 更多