summaryrefslogtreecommitdiff
path: root/doc/_static/demo.js
diff options
context:
space:
mode:
authorMartin Fischer <martin@push-f.com>2021-12-26 10:44:36 +0100
committerMartin Fischer <martin@push-f.com>2021-12-26 21:17:33 +0100
commit2c457f00645cea1f8ef467dca7b98c2268879cf0 (patch)
tree65c2d26d11ae09ba9e0eec2d4c1c90c83e26669c /doc/_static/demo.js
parent123e04b2f2f1f38066ddc048605d31f9abd4dfd1 (diff)
downloadpygments-git-2c457f00645cea1f8ef467dca7b98c2268879cf0.tar.gz
demo: stop using deprecated Document.execCommand()
Use the modern navigator.clipboard API instead.
Diffstat (limited to 'doc/_static/demo.js')
-rw-r--r--doc/_static/demo.js17
1 files changed, 8 insertions, 9 deletions
diff --git a/doc/_static/demo.js b/doc/_static/demo.js
index db5f6ed9..936bd501 100644
--- a/doc/_static/demo.js
+++ b/doc/_static/demo.js
@@ -7,6 +7,7 @@ const langSelect = document.getElementById("lang");
const highlightBtn = document.getElementById("hlbtn");
const outputDiv = document.getElementById("hlcode");
const codeHeader = document.getElementById("hlcodedl");
+const copyLink = document.getElementById("copylink");
const qvars = getQueryVariables();
if (qvars['lexer']) {
@@ -76,13 +77,13 @@ async function highlight() {
let code;
if (file) {
code = await file.arrayBuffer();
- document.getElementById("copy_btn").style.display = "none";
+ copyLink.hidden = true;
} else {
code = document.getElementById("code").value;
var link = document.location.origin + document.location.pathname +
"?lexer=" + encodeURIComponent(lexer) + "&code=" + encodeURIComponent(code);
- document.getElementById("copy_field").value = link;
- document.getElementById("copy_btn").style.display = "";
+ copyLink.href = link;
+ copyLink.hidden = false;
}
highlightWorker.postMessage({code, lexer, style});
@@ -92,12 +93,10 @@ async function highlight() {
document.getElementById('loading-text').textContent = 'highlighting code...';
}
-function copy_link() {
- var copy_field = document.getElementById("copy_field");
- copy_field.select();
- copy_field.setSelectionRange(0, 99999);
- document.execCommand("copy");
-}
+copyLink.addEventListener('click', async (e) => {
+ e.preventDefault();
+ await navigator.clipboard.writeText(e.target.href);
+});
function download_code() {
var filename = "highlighted.html";