我试图创建一个复制按钮来复制一些C ++代码,然后用户可以稍后将其粘贴到编译器中,但是当复制按钮复制引号时,它将“复制”到剪贴板上而不是实际的标记上。
这是我的代码:
<textarea rows="15" cols=60" id="inputtxt">
// My c++ stuff </textarea> <br> <button onclick="myfunction();">Copy code</button>
和脚本:
function myfunction() {
var copyTxt = document.getElementsById("InputTxt");
copyTxt.select();
document.execCommand("copy");}
我如何做到这一点,以便它复制实际的引号而不是仅仅用'
?答案 0 :(得分:0)
Copy
不会进行任何编码或转换,这意味着您的c ++代码已被编码,因此您复制的文本是实体。尝试在呈现的浏览器中查看html代码的来源以证明这一点。
如果您的源代码不是实体,那么您需要告诉我们如何使用复制的文本,此时必须对其进行编码。
答案 1 :(得分:-2)
尝试
function copyToClipboard(text) {
if (window.clipboardData && window.clipboardData.setData) {
// IE specific code path to prevent textarea being shown while dialog is visible.
return clipboardData.setData("Text", text);
} else if (document.queryCommandSupported && document.queryCommandSupported("copy")) {
var textarea = document.createElement("textarea");
textarea.textContent = text;
textarea.style.position = "fixed"; // Prevent scrolling to bottom of page in MS Edge.
document.body.appendChild(textarea);
textarea.select();
try {
return document.execCommand("copy"); // Security exception may be thrown by some browsers.
} catch (ex) {
console.warn("Copy to clipboard failed.", ex);
return false;
} finally {
document.body.removeChild(textarea);
}
}
}