diff --git a/www/links.html b/www/links.html
index 2e9c89ea..940de9fd 100644
--- a/www/links.html
+++ b/www/links.html
@@ -167,56 +167,30 @@ Telegram: rtmps://xxx-x.rtmp.t.me/s/xxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxx
}
function copyTextToClipboard(text) {
- // Modern approach with the Clipboard API
+ // https://web.dev/patterns/clipboard/copy-text
if (navigator.clipboard && window.isSecureContext) {
- // Navigator clipboard is available
- navigator.clipboard.writeText(text).then(function() {
- console.log('Async: Copying to clipboard was successful!');
- }, function(err) {
- console.error('Async: Could not copy text: ', err);
+ navigator.clipboard.writeText(text).catch(err => {
+ console.error(err.name, err.message);
});
} else {
- // Fallback using document.execCommand()
+ const textarea = document.createElement('textarea');
+ textarea.value = text;
+ textarea.style.opacity = '0';
+ document.body.appendChild(textarea);
+
+ textarea.focus();
+ textarea.select();
+
try {
- // Create a temporary element to hold the text to copy
- var textarea = document.createElement("textarea");
- // Make it almost invisible and uneditable
- textarea.style.position = 'fixed';
- textarea.style.top = 0;
- textarea.style.left = 0;
- textarea.style.width = '2em';
- textarea.style.height = '2em';
- textarea.style.padding = 0;
- textarea.style.border = 'none';
- textarea.style.outline = 'none';
- textarea.style.boxShadow = 'none';
- textarea.style.background = 'transparent';
-
- // Set the text content and append the textarea to the body
- textarea.value = text;
- document.body.appendChild(textarea);
-
- // Select all the text in the textarea
- textarea.focus();
- textarea.select();
-
- // Attempt to copy the text selected in the textarea
- var successful = document.execCommand('copy');
- if (successful) {
- console.log('Fallback: Copying text command was successful!');
- } else {
- console.error('Fallback: Could not copy text');
- }
-
- // Cleanup - remove the temporary textarea
- document.body.removeChild(textarea);
+ document.execCommand('copy');
} catch (err) {
- console.error('Fallback: Exception while trying to copy', err);
+ console.error(err.name, err.message);
}
+
+ document.body.removeChild(textarea);
}
}
-
document.getElementById('shareadd').addEventListener('click', ev => {
ev.preventDefault();
share('POST').then(r => r.json()).then(r => onshareadd(r));