javascript копирует содержимое div в буфер обмена с холста снова не работает на Firefox - PullRequest
1 голос
/ 08 марта 2019

Это не дубликат, поскольку, когда я реализовал решение, все было решено, но теперь снова не работает.

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...