Чтобы скопировать значение в буфер обмена с помощью JavaScript, вы можете использовать различные методы. Вот некоторые часто используемые подходы:
Метод 1: использование метода document.execCommand() (не рекомендуется в некоторых браузерах):
function copyToClipboard(value) {
var tempInput = document.createElement("input");
document.body.appendChild(tempInput);
tempInput.value = value;
tempInput.select();
document.execCommand("copy");
document.body.removeChild(tempInput);
}
Метод 2: использование метода navigator.clipboard.writeText() (требуется разрешение пользователя):
function copyToClipboard(value) {
navigator.clipboard.writeText(value)
.then(function() {
console.log("Value copied to clipboard");
})
.catch(function(error) {
console.error("Unable to copy value to clipboard: ", error);
});
}
Метод 3. Использование API буфера обмена (требуется разрешение пользователя):
function copyToClipboard(value) {
navigator.permissions.query({ name: "clipboard-write" }).then(function(result) {
if (result.state === "granted" || result.state === "prompt") {
navigator.clipboard.writeText(value)
.then(function() {
console.log("Value copied to clipboard");
})
.catch(function(error) {
console.error("Unable to copy value to clipboard: ", error);
});
}
});
}
Обратите внимание, что методы 2 и 3 требуют разрешения пользователя на доступ к буферу обмена. Кроме того, эти методы поддерживаются разными браузерами, поэтому важно протестировать их в разных браузерах.