У меня есть фрагмент кода Javascript, который в настоящее время выполняет вызов определенной веб-страницы, возвращает данные, а затем копирует их в буфер обмена. Он работает в Chrome, Safari и Firefox, но по какой-то причине функция копирования не будет работать в IE 11.
Тело ответа возвращается с правильными данными, но я не могу передать эти данные в буфер обмена. Код должен быть чистым Javascript, так как он используется через портал для разработчиков с некоторыми ограничениями. По сути, Я хочу избежать импорта библиотек jQuery / использования jQuery .
function httpGet(theUrl)
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
function listener(e) {
e.clipboardData.setData("text/html", xmlhttp.responseText);
e.clipboardData.setData("text/plain", xmlhttp.responseText);
e.preventDefault();
}
document.addEventListener("copy", listener);
document.execCommand("copy");
document.removeEventListener("copy", listener);
return xmlhttp.responseText;
}
}
xmlhttp.open("GET", theUrl, false );
xmlhttp.send();
}
Функция вызывается в событии "onclick" HTML, которое обычно запускается из того, что я понимаю (учитывая, что выполняется вызов страницы "theUrl" и возвращаются данные). Любая информация о том, почему буфер обмена не получает данные, будет принята с благодарностью. Спасибо!