javascript kopieren Sie rich-text-Inhalt in die Zwischenablage kopieren
Prämisse
Ich brauche Hilfe kopieren Sie rich-text in die Zwischenablage per JavaScript. Ich suchte herum und habe nicht gefunden was für meinen speziellen Bedürfnissen.
Code
JS:
function ctrlA1(corp) {
with(corp) {}
if (document.all) {
txt = corp.createTextRange()
txt.execCommand("Copy")
} else
setTimeout("window.status=''", 5000)
}
HTML:
<div id="sc1">hello <br> <b> world </b> </div>
<button onclick="ctrlA1(document.getElementById('sc1') )"></button>
Problem
Den oben genannten code funktioniert nicht und führt in eine object expected error
. Jede Hilfe ist willkommen!
Ich habe gesehen, eine Bibliothek es als zeroclipboard
, aber lieber Schreibe meine eigene Funktion.
Edit:
Nun habe ich diese Funktion zum auswählen von text auf der Seite. ist es möglich, zu schreiben, eine Formel zu kopieren wird der ausgewählte Bereich so ist?
JS:
function containerSelect(id) {
containerUnselect();
if (document.selection) {
var range = document.body.createTextRange();
range.moveToElementText(id);
range.select();
} else if (window.getSelection) {
var range = document.createRange();
range.selectNode(id);
window.getSelection().addRange(range);
}
}
HTML:
<label onclick="containerSelect(this); select_all()">
<p>hello world</p>
<img src="imagepath.png">
</label>
- Ich glaube nicht, dass JS unterstützt diese, das ist, warum Menschen nutzen zeroclipboard (es verwendet Flash kopieren in die Zwischenablage). Und es funktioniert gut, fwiw.
- BTW, 'Verwendung der with-Anweisung wird nicht empfohlen, da es kann die Quelle verwirrend bugs und Kompatibilitätsprobleme.'
- Lösung mit JS nur Sehen jsfiddle.net/jdhenckel/km7prgv4/3
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit modernen Browsern, wenn Sie wollen kopieren Sie rich-text - nur, es gibt eine sehr einfache Lösung ohne Pakete. Sehen http://jsfiddle.net/jdhenckel/km7prgv4/3
Hier ist der Quellcode von der fiddle
die Funktion
e.clipboardData.setData
dann vielleicht können Sie fügen Sie rich-text mit IE Kante... ? nur so ein GedankeDiese winzige JS-plugin kopiert richtext ohne die Verwendung von Flash:
https://www.npmjs.com/package/clipboard-js
Es basiert auf https://clipboardjs.com/, aber es ist ein upgrade meiner Meinung nach, weil die ursprünglichen unterstützt nur text.
Der code ist einfach:
Also hier ist der deal die meisten modernen web-Browsern wird nicht lassen Sie Zugriff auf die clip-board. Aber wie mit allem gibt es eine Arbeit um.
https://github.com/zeroclipboard/zeroclipboard
dies ist ein js/flash-plugin, das ermöglicht das kopieren von text in die Zwischenablage zu kopieren.
(ich glaube, Sie können verwenden Sie es für rich-text.)
ZeroClipboard.config({ moviePath: "ZeroClipboard.swf" }); var client = new ZeroClipboard(document.getElementById('d_clip_button'));
suchte ich nach einer Woche jetzt und endlich gefunden, meine Antwort!!!
für diejenigen, die zu kopieren Sie rich-text in die Zwischenablage mit javascript, verwenden Sie dann die Funktion auf den unten stehenden link, funktioniert wie ein Charme.
keine Notwendigkeit von flash und anderen Sachen vorgeschlagen 🙂
Kopieren Sie ein Bild in die Zwischenablage mit JavaScript/jquery