Я пытаюсь скопировать строку параметров в буфер обмена, используя собственный JS. Пока это работает нормально, однако у меня небольшая косметическая проблема, когда я запускаю свой фрагмент кода в IE 7.
Мой код:
function copyStringToClipboard (str) {
// Create new element
var el = document.createElement('input');
el.setAttribute("display", "none");
el.setAttribute("type", "text");
el.value = str;
el.setAttribute('readonly', '');
document.body.appendChild(el);
el.select();
// Copy text to clipboard
document.execCommand('copy');
// Remove temporary element
document.body.removeChild(el);
}
Как я уже упоминал выше, этот делает работают в проверенных браузерах. Однако он создает поле ввода текста visible (строка 3). Я пытался использовать el.style = {position: 'absolute', left: '-9999px'};
, но Internet Explorer выдает:
Не реализовано
Я думал о создании input type="hidden"
, но кажется, что это скрытое поле невыбираемый - что имеет смысл. Само собой разумеется, что это действие вызывает onClick()
, так что действительно с действием пользователя.
Идеи, как это решить?