Поскольку document.execCommand
является устаревшей функцией, вы можете использовать ее в будущем, используя navigator.clipboard
. Это еще не реализовано в Safari, но вы можете объединить их так:
function copy(src) {
if (navigator.clipboard) {
navigator.clipboard
.writeText(src)
.then(function() {
// clipboard set
console.log('success')
})
.catch(function(err) {
// clipboard failure
console.log(err)
})
} else {
var input = document.createElement('input')
input.value = src
document.body.append(input)
input.select()
document.execCommand('copy')
input.remove()
}
}
