CHris08156 Geschrieben 9. Oktober 2005 Geschrieben 9. Oktober 2005 Hi! Ich hab mal wieder ne Frage. Im Internet hab ich zwar einen Teil gefunden, aber ich bekomms nicht zusammen: Ziel ist ein Link, der einen Text in die Zwischenablage kopiert. Gefunden habe ich folgenden JavaScript-Befehlt: function kopiere (zu_kopierender_text) { window.clipboardData.setData("Text",zu_kopierender_text); return false; } gedacht habe ich mir das irgendwie so: <a onklick="return kopiere("der text")">der Text</a> aber das funktioniert so nicht, weil dann kein link angezeigt wird. und wenn ich href="" hinzufüge, werde ich immer auf mein Home weitergeleitet und kopiert wurde nichts. geht das überhaupt? Zitieren
mKipke Geschrieben 9. Oktober 2005 Geschrieben 9. Oktober 2005 <a href="#" onclick="return kopiere("der text")">der Text</a> ohne href ist es "nur" ein Anker, jedoch kein Link. Zitieren
CHris08156 Geschrieben 10. Oktober 2005 Autor Geschrieben 10. Oktober 2005 <a onclick... eventuell? Sorry, das war nur ein Druckfehler. Leider funktioniert das mit href="#" auch nicht. gibt es überhaupt ein onlick-command? Denn scheinbar wird die Funktion nicht aufgerufen. Ich hab eigentlich ein "alert(zu_kopierender_text)" und "return false" in die Funktion eingebaut. Aber es kommt keine Meldung. Und eigentlich sollte doch der Link nicht aufgerufen werden, wenn die Funktion false zurückgibt. Zitieren
mKipke Geschrieben 10. Oktober 2005 Geschrieben 10. Oktober 2005 So, ich hab dir mal nen kleines Beispiel vorbereitert (man verzeihe mir mein Schlampiges HTML - ich kann es besser *g*) <html> <head> <title>clipboardData - Demo</title> <script language="javascript" type="text/javascript"> <!-- function copyToClipBoard(what) { window.clipboardData.setData("Text", what); } function pasteFromClipboard() { alert(window.clipboardData.getData("Text")); } function copyDynamicText() { var theText = prompt("Geben sie den Text ein"); copyToClipBoard(theText); } // --> </script> </head> <body> <h1>clipboardData - Demo</h1> <table name="tbl"> <tr> <td>1. Statischer Text in die Zwischenablage <br> (kopiert den String Hallo in die Zwischenablage)</td> <td><a href="javascript:copyToClipBoard('Hallo')">Start</a><td> </tr> <tr> <td>2. Dynamischer Text in die Zwischenablage kopieren</td> <td><a href="#" onclick="copyDynamicText()">Start</a><td> </tr> <tr> <td>3. Ausgabe des Inhaltes der Zwischenablage</td> <td><a href="javascript:pasteFromClipboard()">Start</a><td> </tr> <table> </body> </html> Die Sache hat jedoch einen gewaltigen Haken: clipboardData ist kein Bestandteil von JAVAScript/EMCAScript sondern ist vielmehr in MS JScript definiert - von daher ist das Beispiel IE-Only. Zur Erklärung: function copyToClipBoard(what) { window.clipboardData.setData("Text", what); } setData erwartet zwei Parameter. Der erste Parameter bestimmt den Objekttyp, der in die Zwischenablage kopiert werden soll. In unserem Fall ist das ein Text. Der zweite Parameter stellt das zu kopierende Objekt dar. function pasteFromClipboard() { alert(window.clipboardData.getData("Text")); } Über die alert-Funktion geben wir den Inhalt der Zwischenablage aus. Auch hier muss wieder der Objekttyp angegeben werden. Zitieren
CHris08156 Geschrieben 10. Oktober 2005 Autor Geschrieben 10. Oktober 2005 Die Sache hat jedoch einen gewaltigen Haken: clipboardData ist kein Bestandteil von JAVAScript/EMCAScript sondern ist vielmehr in MS JScript definiert - von daher ist das Beispiel IE-Only. Danke! Das ist genau das was ich haben wollte. Da ca. 60% der Nutzer meiner Website IE6-Nutzer sind, sollte es so ausreichen. und von dem rest sind sicher nochmal ein drittel andere IE-Nutzer. und da dieser Link warscheinlich eh nur von mir benutzt wird, reicht das voll aus. du bist mein Held des Tages Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.