"Kopieren" Button für ein Textbereich
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anwenden
archiv
beispiel
bereich
button
code
genannten codes
http
import
installation
jemand
kleinigkeit
komma
kopieren
null
opus
punkt
standart
url
zwischenablage
-
Hallo!
Kann man einen Button erstellen, der den Inhalt aus einem Textbereich in die Zwischenablage kopiert??
Wenn ja wie??
Freue mich über Hilfe!
Gruß -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Google: Zweite Antwort:
import java.awt.Toolkit; import java.awt.datatransfer.StringSelection; public class CopyToClipboard { public static void main(String[] args) { Toolkit.getDefaultToolkit().getSystemClipboard().setContents( new StringSelection("Ich bin jetzt in der Zwischenablage :)"), null ); } }
Lg Moe -
Genauer gesagt gehts im ActionListener des Buttons so:
public void actionPerformed( ActionEvent e ) { Toolkit.getDefaultToolkit().getSystemClipboard().setContents( new StringSelection( jtextarea,getText() ), null ); }
Beitrag zuletzt geändert: 4.5.2012 21:41:18 von reimann -
reimann schrieb:
Genauer gesagt gehts im ActionListener des Buttons so:
public void actionPerformed( ActionEvent e ) { Toolkit.getDefaultToolkit().getSystemClipboard().setContents( new StringSelection( jtextarea,getText() ), null ); }
Ist zwar ne Kleinigkeit, wird aber nicht funktionieren Das muss nämlich:
jtextarea punkt getText() und nicht jtextarea komma getText()
sein :-)
*klugscheiss ende*
mfg Nico -
Ich werde aus den Schnipseln nicht schlau... Sorry hab noch nie mit Javascript gearbeitet.
Also ich habe ein Textbereich:
<input name="Textbereich" type="text" value="Inhalt" size="55" readonly="readonly" />
Und ich habe bereits einen Button, der den Text markiert:
<input type=button value="Alles auswählen" onClick="javascript:this.form.Textbereich.focus();this.form.Textbereich.select();">
Und zum kopieren habe ich auch etwas, es funktioniert aber nur beim Internet Explorer:
<input type=button value="Alles auswählen" onClick="javascript:this.form.Textbereich.focus();this.form.Textbereich.select();document.execCommand('Copy')">
Kann mir jemand sagen, wie ich das auch mit anderen Browsern machen kann?
Also wie gesagt, ich kenne mich nicht aus mit Javascript. Wenn mir jemand einen fertigen Code geben könnte würde ich mich freuen ;)
Oder wenn mir jemand den oben genannten Code besser erklären kann und auf mein Beispiel anwenden kann. Danke auch schonmal für die genannten Codes!
Gruß -
safeyourface schrieb:
Wir haben auch nie mit JavaScript gearbeitet, weil du das im Forum "Java" gepostet hast und dir deshalb auch Java-Code geliefert wurde.
Ich werde aus den Schnipseln nicht schlau... Sorry hab noch nie mit Javascript gearbeitet.
Wenn du JavaScript brauchst musst du das im richtigen Forum posten... -
Java != Javascript
Das sind komplett unterschiedliche Dinge! Dieser Thread gehört in den "HTML, CSS und Javascript" bereich, nicht in den Java Bereich Darum kannst du aus den Beispielen hier auch nicht schlau werden...
So, nun zum Problem: Die Lösung ist: Garnicht. Das Clipboard wird aus Sicherheitsgründen von anderen Browsern nicht zugänglich gemacht. Der IE macht hier nur wieder sein eigenes Ding, aber der Code ist kein Standart.
So blöd es klingt, es geht nicht. Zumindest ist mir kein Weg bekannt, dies über die Standarts zu machen.
Du könntest, das übersteigt aber meine Fähigkeiten, irgendwie ein Flashobjekt einfügen, welches du mit Javascript steuerst, dem du sagst "hier, mach das in des Clipboard", denn Flash wiederrum kann das.
Und immer dran denken. Java und Javascript haben nichts gemeinsam
Liebe Grüße -
ggamee schrieb:
Die Lösung ist: Garnicht.
Es funktioniert, aber umständlich... habe folgenden Code gefunden:
Dabei bekommt der Benutzer beim Firefox eine Bestätigungsmeldung ob er dem Script erhöhte Rechte geben möchte...<script type="text/javascript"> function copy2clipboard(text) { if(window.clipboardData) { window.clipboardData.setData('text',text); return true; } else { try { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); } catch(e) { alert("Internet Security settings do not allow copying to clipboard!"); return false; } try { e = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard); } catch(e) { return false; } try { b = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable); } catch(e) { return false; } b.addDataFlavor("text/unicode"); o = Components.classes['@mozilla.org/supports-string;1'].createInstance(Components.interfaces.nsISupportsString); o.data = text; b.setTransferData("text/unicode", o, text.length * 2); try { t = Components.interfaces.nsIClipboard; } catch(e) { return false; } e.setData(b, null, t.kGlobalClipboard); return true; } alert('Copy doesn\'t work!'); return false; } // --></script>
-
Thread nach HTML,CSS&Javascript verschoben
-
hackyourlife schrieb:
Es funktioniert, aber umständlich...
Wieder was neues gelernt.
Allerdings ist dies kein Standart in der Javascriptwelt. Und wenn du als entfernter Nutzer gefragt wirst, ob du der Webside erhöhte Rechte geben willst, mit der selbst eine Installation von Schadeware möglich wäre, weiß ich nicht ob das so nett klingt.
In Opera btw funktioniert es nicht. Es wäre also ein Workaround zumindest für Firefox.
Liebe Grüße -
Es gibt hier dieses nette Plugin http://archive.plugins.jquery.com/project/copy das in nicht IE Browsern das Kopieren mithiolfe von Flash realisiert
-
ggamee schrieb:
Ansonsten gibt es noch das gute alte Flashobjekt... Link
Es wäre also ein Workaround zumindest für Firefox.
Oder per jQuery: Plugin
Noch eine Auflistung aller Möglichkeiten: Link
Dann gibt es noch das hier:
Oder das:<script type="text/javascript"> function select_all(obj) { var text_val=eval(obj); text_val.focus(); text_val.select(); if (!document.all) return; // IE only r = text_val.createTextRange(); r.execCommand('copy'); } </script>
// create an editable DIV and append the HTML content you want copied var editableDiv = document.createElement("div"); with (editableDiv) { contentEditable = true; } editableDiv.appendChild(someContentElement); // select the editable content and copy it to the clipboard var r = document.body.createTextRange(); r.moveToElementText(editableDiv); r.select(); r.execCommand("Copy"); // deselect, so the browser doesn't leave the element visibly selected r.moveToElementText(someHiddenDiv); r.select();
Es ist also extrem umständlich... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage