kostenloser Webspace werbefrei: lima-city


"Kopieren" Button für ein Textbereich

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    safeyourface

    Kostenloser Webspace von safeyourface, auf Homepage erstellen warten

    safeyourface hat kostenlosen Webspace.

    Hallo!

    Kann man einen Button erstellen, der den Inhalt aus einem Textbereich in die Zwischenablage kopiert??
    Wenn ja wie??

    Freue mich über Hilfe!
    Gruß
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. 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
  5. 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
  6. Autor dieses Themas

    safeyourface

    Kostenloser Webspace von safeyourface, auf Homepage erstellen warten

    safeyourface hat kostenlosen Webspace.

    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ß
  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    safeyourface schrieb:
    Ich werde aus den Schnipseln nicht schlau... Sorry hab noch nie mit Javascript gearbeitet.
    Wir haben auch nie mit JavaScript gearbeitet, weil du das im Forum "Java" gepostet hast und dir deshalb auch Java-Code geliefert wurde.

    Wenn du JavaScript brauchst musst du das im richtigen Forum posten... ;-)
  8. g****e

    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
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    ggamee schrieb:
    Die Lösung ist: Garnicht.

    Es funktioniert, aber umständlich... habe folgenden Code gefunden:
    <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>
    Dabei bekommt der Benutzer beim Firefox eine Bestätigungsmeldung ob er dem Script erhöhte Rechte geben möchte...
  10. djfun

    Co-Admin Kostenloser Webspace von djfun

    djfun hat kostenlosen Webspace.

    Thread nach HTML,CSS&Javascript verschoben
  11. g****e

    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
  12. Es gibt hier dieses nette Plugin http://archive.plugins.jquery.com/project/copy das in nicht IE Browsern das Kopieren mithiolfe von Flash realisiert
  13. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    ggamee schrieb:
    Es wäre also ein Workaround zumindest für Firefox.
    Ansonsten gibt es noch das gute alte Flashobjekt... Link

    Oder per jQuery: Plugin

    Noch eine Auflistung aller Möglichkeiten: Link

    Dann gibt es noch das hier:
    <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>
    Oder das:
    // 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...
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!