Это не дубликат, поскольку, когда я реализовал решение, все было решено, но теперь снова не работает.
javascript-копирование содержимого div в буфер обмена из холста не работает в Firefox
Мне нужно скопировать содержимое всплывающего окна в буфер обмена, так как элемент находится внутри холста и не доступен напрямую.(это материал Openlayer 4, вы добавляете наложение на карту, а затем можете использовать div для его анализа при создании контента, вы можете нажимать кнопки, но не выделять текст)
Этот код работает вChrome, Internet Explorer и Edge, но не в Firefox (снова).
Вот код, который я использую для копирования содержимого в буфер обмена:
for (let i = 0; i < max; i++) {
document.getElementById(`Copy_Btn_${i}`).addEventListener('click', function () {
// We will need a range object and a selection.
let contentHolder = document.getElementById(`info_${i}`)
// hack for FF, make editable the div
contentHolder.setAttribute('contenteditable', 'true')
let range = document.createRange()
let selection = window.getSelection()
// Clear selection from any previous data.
selection.removeAllRanges()
// Make the range select the entire content of the contentHolder paragraph.
range.selectNodeContents(contentHolder)
// Add that range to the selection.
selection.addRange(range)
// Copy the selection to clipboard.
document.execCommand('copy')
// hack for FF, make not editable the div again
contentHolder.setAttribute('contenteditable', 'false')
// Clear selection if you want to.
selection.removeAllRanges()
})
}
Я уже реализовалcontentHolder.setAttribute('contenteditable', 'false/true')
, но теперь снова, похоже, снова не работает, возможно, новое обновление Firefox сломало код.
Я видел, что мой div - это много вложенный div, но если я использую contentHolder.textContent
Iможно вернуть только текст, как я могу использовать этот текст для копирования в буфер обмена?
здесь веб-сайт
https://www.traffwebdev.uk/parking/test.html
Код преобразуется сОднажды в производстве появляется webpack и babel.