Hirdetés

Új hozzászólás Aktív témák

  • btz

    addikt

    válasz cattus #7854 üzenetére

    Ezt próbálgattam már. Nálam nem működik (szokás szerint)

    Először így próbáltam:

    <script type="text/javascript" >
    // Create a fake textarea
    const textAreaEle = document.createElement('textarea');

    // Reset styles
    textAreaEle.style.border = '0';
    textAreaEle.style.padding = '0';
    textAreaEle.style.margin = '0';

    // Set the absolute position
    // User won't see the element
    textAreaEle.style.position = 'absolute';
    textAreaEle.style.left = '-9999px';
    textAreaEle.style.top = `0px`;

    // Set the value
    textAreaEle.value = text;

    // Append the textarea to body
    document.body.appendChild(textAreaEle);

    // Focus and select the text
    textAreaEle.focus();
    textAreaEle.select();

    // Execute the "copy" command
    try {
    document.execCommand('copy');
    } catch (err) {
    // Unable to copy
    } finally {
    // Remove the textarea
    document.body.removeChild(textAreaEle);
    }
    </script>

    Ekkor a textAreaEle.value = text; érték nem volt definiálva így készítettem neki egy változót. var text = "tesztszöveg";

    <script type="text/javascript" >
    // Create a fake textarea
    const textAreaEle = document.createElement('textarea');

    // Reset styles
    textAreaEle.style.border = '0';
    textAreaEle.style.padding = '0';
    textAreaEle.style.margin = '0';

    // Set the absolute position
    // User won't see the element
    textAreaEle.style.position = 'absolute';
    textAreaEle.style.left = '-9999px';
    textAreaEle.style.top = `0px`;

    var text = "tesztszöveg";

    // Set the value
    textAreaEle.value = text;

    // Append the textarea to body
    document.body.appendChild(textAreaEle);

    // Focus and select the text
    textAreaEle.focus();
    textAreaEle.select();

    // Execute the "copy" command
    try {
    document.execCommand('copy');
    } catch (err) {
    // Unable to copy
    } finally {
    // Remove the textarea
    document.body.removeChild(textAreaEle);
    }
    </script>

    Hiba: Uncaught TypeError: Cannot read property 'appendChild' of null.
    Beraktam bodyba a scriptet, utána semmit nem csinált, viszont a hiba megszűnt.
    Aztán a document.body részt cseréltem document.getElementById("mainContent").appendChild(textAreaEle);-re. Így már megjelenik a textarea, benne a tesztszöveg felirattal. (A kódból kitöröltem azt a részt ami elrejti a textarea-t).

    <html>
    <body>

    <div id="mainContent">
    MAIN CONTENT<br />
    </div>
    <script type="text/javascript" >
    // Create a fake textarea
    const textAreaEle = document.createElement('textarea');

    var text = "tesztszöveg";

    // Set the value
    textAreaEle.value = text;

    // Append the textarea to body
    document.getElementById("mainContent").appendChild(textAreaEle);

    // Focus and select the text
    textAreaEle.focus();
    textAreaEle.select();

    // Execute the "copy" command
    try {
    document.execCommand('copy');
    } catch (err) {
    // Unable to copy
    } finally {
    // Remove the textarea
    //document.body.removeChild(textAreaEle);
    }
    </script>
    </body>
    <html>

    Viszont nem másol semmit a vágólapra.

    [ Szerkesztve ]

    ⓑⓣⓩ

Új hozzászólás Aktív témák