3 Stimmen

Wie kann man den Text in einem div (für das Kopieren in die Zwischenablage) von Javascript auswählen?

Ich habe ein Div mit etwas Text, den ich möchte, dass der Benutzer in der Lage sein, leicht von der Seite (über die Zwischenablage) zu kopieren. Gibt es eine browserübergreifende Möglichkeit, den gesamten Text innerhalb eines div auf einen Mausklick auszuwählen?

2voto

Die browserübergreifende Unterstützung für das Kopieren in die Zwischenablage über Javascript erfordert die Verwendung von Flash, um die Sicherheitsvorkehrungen von Firefox/Netscape zu umgehen, die den Zugriff auf die Zwischenablage verhindern. Wenn Sie jQuery können Sie ganz einfach auf die Zwischenablage Plugin. Wenn Sie Ihr eigenes Javascript entwickeln, ohne jQuery zu verwenden, dann ist das Blogbeitrag kann helfen.

Außerdem können Sie die Sicherheitsberechtigungen von Firefox so anpassen, dass Skripte Zugriff auf Ihre Zwischenablage erhalten. Eine gute Durchgang ist unter dojotoolkit.org verfügbar. Dies ist in der Regel nicht der richtige Weg, da jeder Ihrer Benutzer diese Anpassung vornehmen müsste. Es ist viel einfacher, Flash zu verwenden, da es mit allen modernen Browsern (Safari, IE, Firefox und Opera) funktioniert.

1voto

Perchik Punkte 4628
<SPAN ID="copytext" STYLE="height:150;width:162;background-color:pink">
This text will be copied onto the clipboard when you click the button below. Try it!
</SPAN>
<TEXTAREA ID="holdtext" STYLE="display:none;">
</TEXTAREA>
<BUTTON onClick="ClipBoard();">Copy to Clipboard</BUTTON>    

function ClipBoard() 
    {
    holdtext.innerText = copytext.innerText;
    Copied = holdtext.createTextRange();
    Copied.execCommand("Copy");
    }

Von hier aus

1voto

Mork0075 Punkte 5825

0voto

cdonner Punkte 35735

Diese Frage könnte einige Hinweise für Sie enthalten.

0voto

jsight Punkte 27087

Ich konnte keine Möglichkeit finden, Text in einem Div zu markieren, und wollte auch nicht den Flash-Ansatz verwenden, um ihn einfach zu kopieren (obwohl das ein nettes Tool ist).

Am Ende habe ich genau das getan:

function selectIncidentIDText (incidentIDTxtEl) {
    incidentIDTxtEl.select();
}
<h:inputText value="(IncidentID: #{ViewIncidentBean.incident.id})" readonly="true" onclick="selectIncidentIDText(this);"/>

Für meine Zwecke ist das gut genug, auch wenn es ein bisschen hässlich ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X