Копирование в буфер обмена будет работать только при реальном взаимодействии с пользователем.Без истинного взаимодействия с пользователем это обычно терпит неудачу.Я считаю, что это для мер безопасности.Так что подключите его к событию клика.Тогда я также предлагаю вам использовать библиотеку типа clipboard.js , которая решает проблемы с различными браузерами и позволяет помещать HTML-разновидности и текстовые копии.
Если вы используете буфер обмена.js вы можете использовать такой код:
plaintext = "boo";
htmltext = "<strong>boo</strong>";
document.getElementById("copybutton").addEventListener('click', function() {
clipboard.copy({
'text/plain': plaintext,
'text/html': htmltext
}).then(
function(){
swal({
title: "Successfully copied",
text: "The thing has been put in your clipboard, happy pasting!",
type: "success",
closeOnConfirm:true,
confirmButtonText: "Ok",
timer: 1200
});
},
function(err){
window.prompt("Something went wrong with automatically copying the data to clipboard.\nPlease press CTRC + C to copy the data",plaintext );
});
}
}