Frage

Ich versuche, ein JavaScript-Skript zu schreiben, um Grease hinzuzufügen, die auf eine Schaltfläche, nachdem ein Element hinzufügt. Das OnClick für diese Schaltfläche soll den Eltern Element Text in die Tastatur kopieren. Ich habe viele Beispiele gesehen, die bereits Text in die Zwischenablage wie diese ausgewählt kopieren:

    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    function copyit(theField) {
    var selectedText = document.selection;
    if (selectedText.type == 'Text') {
    var newRange = selectedText.createRange();
    theField.focus();
    theField.value = newRange.text;
    } else {
    alert('Alert: Select The text in the textarea then click on this button');
    }
    }
    // End -->
    </script>
    <input onclick="copyit(this.form.text_select)" type="button" value="Click Here to Copy the Highlighted Text" name="copy_button">

Gefunden hier .

Ich habe auch festgestellt, dass Sie Text in Eingabeelemente auswählen können. Ich habe versucht, beide Techniken kombiniert, wie auch viele andere ohne tragfähige Lösung vor. Ich bin nicht einmal sicher, warum der obige Code in die Zwischenablage kopiert. Hat jemand eine Lösung für dieses?

War es hilfreich?

Lösung

Wenn Sie die Zeit genommen haben den ganzen Artikel zu lesen, der Verfasser dies für Firefox nicht funktioniert ...
Eigentlich, denke ich es nicht einmal für IE funktioniert, da es nichts im Zusammenhang mit der Zwischenablage tut!

Es ist eine Technik, die Verwendung von Flash, weil standardmäßig hemmt Firefox Zugriff auf die Zwischenablage aus Sicherheitsgründen.
Ansonsten ist die klassische Art und Weise Kopie zu tun ist:

var tc = textToCopy.replace(/\n\n/g, '\n');
if (window.clipboardData) // IE
{
  window.clipboardData.setData("Text", tc);
}
else
{
  unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  const clipboardHelper = Components.classes
      ["@mozilla.org/widget/clipboardhelper;1"].
      getService(Components.interfaces.nsIClipboardHelper);
  clipboardHelper.copyString(tc);
}

Nach der Aktivierung Kopie (für eine bestimmte Website).

Andere Tipps

Sind Sie sicher, dass Ihr Beispiel funktioniert? Es ist nicht in meinem Browser. Aber werfen Sie einen Blick auf die folgende Seite: http://www.jeffothy.com/weblog/ Zwischenablage-copy /

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top