Avatar billede madsaa Nybegynder
23. april 2008 - 09:59 Der er 8 kommentarer og
1 løsning

Copy funktion via link?

Hejsa.

jeg ville høre om det var muligt at kode i HTML et sådan link at når man trykker på det copier den noget bestemt. F.eks:

LINK (når der trykkes her ligger den automatisk nedenstående ind i en paste funktion)

"jegergud"

Så efter jeg har trykket på linket og CTRL+V skriver den automatisk "jegergud" ind hvad end det måtte være.
Avatar billede w13 Novice
23. april 2008 - 10:15 #1
Det kan kun gøres i Microsoft Internet Explorer så vidt jeg ved og ikke uden, at brugeren accepterer en boks, der kommer op og advarer.

Det kan gøres sådan her:

<script type="text/javascript">
function copyToClipboard(s)
{
    if( window.clipboardData && clipboardData.setData )
    {
        clipboardData.setData("Text", s);
    }
    else
    {
        // You have to sign the code to enable this or allow the action in about:config by changing
        user_pref("signed.applets.codebase_principal_support", true);
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

        var clip Components.classes['@mozilla.org/widget/clipboard;[[[[1]]]]'].createInstance(Components.interfaces.nsIClipboard);
        if (!clip) return;

        // create a transferable
        var trans = Components.classes['@mozilla.org/widget/transferable;[[[[1]]]]'].createInstance(Components.interfaces.nsITransferable);
        if (!trans) return;

        // specify the data we wish to handle. Plaintext in this case.
        trans.addDataFlavor('text/unicode');

        // To get the data from the transferable we need two new objects
        var str = new Object();
        var len = new Object();

        var str = Components.classes["@mozilla.org/supports-string;[[[[1]]]]"].createInstance(Components.interfaces.nsISupportsString);

        var copytext=meintext;

        str.data=copytext;

        trans.setTransferData("text/unicode",str,copytext.length*[[[[2]]]]);

        var clipid=Components.interfaces.nsIClipboard;

        if (!clip) return false;

        clip.setData(trans,null,clipid.kGlobalClipboard);     
    }
}
</script>

<a href="java script:copyToClipboard('Jeg er Gud!')">LINK</a>
Avatar billede w13 Novice
23. april 2008 - 10:22 #2
Nej, det virker ikke, men det gør dette:

<html>
<head></head>
<body>

<script type="text/javascript">
function copyToClipboard(s)
{
    window.clipboardData.setData('Text',s);
}
</script>

<a href="java script:copyToClipboard('Jeg er Gud!')">LINK</a>

</body>
</html>

Og så er det noget kortere. ;)
Avatar billede w13 Novice
23. april 2008 - 10:23 #3
Det virker også kun i IE, men der kommer ingen boks, som brugeren skal acceptere.
Avatar billede madsaa Nybegynder
23. april 2008 - 10:39 #4
Okay tak for svaret, men nu opstår der endnu et problem. I selve det der skal kopieres
Det der skal kopieres ser således ud: "xxx.xxx.int\15745"

Men på grund af skrå skrå stregen kommer det til at så således ud når jeg paster det:
"xxx.xxx.into45"

Nogen der kan hjælpe mig her, for jeg må indrømme jeg er lidt lost lige nu.
Avatar billede w13 Novice
23. april 2008 - 10:44 #5
Ja, skråstreg fortolkes anderledes i JavaScript-strenge. Du bliver nødt til at "escape" den, dvs. rette den til 2 skråstreger:

"xxx.xxx.int\\15745"
Avatar billede madsaa Nybegynder
23. april 2008 - 10:53 #6
w13 du er dagens helt, without a doubt, jeg takker mange for din hjælp.
Jeg fik anbefalet Eksperten.dk, hvor jeg før brugte HOL, og jeg fortryder bestemt ikke at jeg valgte det her istedet.
Mange tak for den top prof. hjælp :)
Avatar billede w13 Novice
23. april 2008 - 10:55 #7
;)

Husk at acceptere mit svar her nederst på siden, så spørgsmålet lukkes.
Avatar billede w13 Novice
23. april 2008 - 10:58 #8
Takker for point!
Avatar billede olebole Juniormester
26. april 2008 - 15:18 #9
<ole>

Hvis du bruger en lille Flash-fil, kan du også gøre det i FF  =)
    http://www.dengodekode.dk/clipboard/

/mvh
</bole>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester