0

Ich führe den folgenden Coffescript-Code, um bestimmte Daten in die Zwischenablage des Benutzers zu kopieren.Discontiguous Auswahl wird nicht unterstützt Fehler beendet Kopieren in Zwischenablage

ready = -> 

copyEmailBtn = document.querySelector('.clipboard-copy') 
copyEmailBtn.addEventListener 'click', (event) -> 
    targetClass = document.querySelector('.clipboard-copy').dataset.targetClass 
    target = document.querySelector(targetClass) 
    range = document.createRange() 
    range.selectNode target 
    window.getSelection().addRange range 
    try 
    document.execCommand('copy') 
    catch err 
    console.log 'Oops, unable to copy' 
    window.getSelection().removeAllRanges() 
    return 

if $('.clipboard-copy').length > 0 
    $(document).ready(ready) 
    $(document).on('page:load', ready) 

When I click the related button to start the copy process chrome throws the following error

Das Problem dabei ist, dass ich nicht in der Lage bin es aufzuspüren, da sie in einem von vier Versuchen tritt nur.

Der Kopiebutton funktioniert wie erwartet, die anderen 3 bis 4 Mal, aber wenn dieser Fehler auftritt, wird der Text nicht kopiert.

Ich habe keine anderen Browser versucht, da unsere App in keinem anderen Browser funktioniert und nicht soll.

Hat sich schon mal jemand mit diesem Fehler beschäftigt?

habe ich versucht, die folgenden Vorschläge, wie Sie es sollte nicht Funktionalität betreffen alle aus dem Code Discontiguous selection is not supported

die anderen Berichte über diesen Fehler sagen sehen und mehr wie eine ausführliche Warnung.

Antwort

0

Ich reparierte es mit dem folgenden Code

ready = -> 

copyEmailBtn = document.querySelector('.clipboard-copy') 
copyEmailBtn.addEventListener 'click', (event) -> 
    window.getSelection().removeAllRanges() 
    targetClass = document.querySelector('.clipboard-copy').dataset.targetClass 
    target = document.querySelector(targetClass) 
    range = document.createRange() 
    range.selectNode target 
    window.getSelection().addRange range 
    try 
    document.execCommand('copy') 
    catch err 
    console.log 'Oops, unable to copy' 
    window.getSelection().removeAllRanges() 
    return 

if $('.clipboard-copy').length > 0 
    $(document).ready(ready) 
    $(document).on('page:load', ready)