Przycisk kopiowania w html


(escort_) #1

Hej próbuję zrobić przycisk kopiowania zawartości div jednak bez efektu czy mógłby ktoś zerknąć i podpowiedzieć?

Kod zamieściłem tutaj: http://wklej.org/id/1279580/

 

Pozdrawiam


(Jim1961) #2

zamiast "value" użyj "innerHTML"


(escort_) #3

zmieniłem zawartość 

 

Kopiuj

 

dodałem jest markup ale nadal nie działa.

 


(Jim1961) #4

a niby skąd ten markup? skąd niby ta zmienna pochodzi? miałeś tylko zamienić jedno słowo, a nie dopisywać coś nowego?


(escort_) #5

zrobiłem tak jak radziłeś zmieniłem to jedno słowo, bez urazy przetestowałeś to? Bo po zmianie tylko tego słowa też nadal nie działało.


(Jim1961) #6

ciach

 

1) Nie nie przetestowałem, bo nie mam takiej funkcji jak "copyToClipboard".

2) Ten div z którego próbujesz pobrać tekst, powinien mieć ustawione "id" na "testText", a nie name ... przecież pisze "getElementById", a nie "getElementByName".

3) zawartość atrybutu "onclick" należy ograniczyć podwójnym cudzysłowiem, a nie apostrofem, bo się gryzie z tym co podajesz w metodzie "getElementById".

4) zamień "value" na "innerHTML" i wywal "markup" łącznie ze znakiem równości.

5) wpisz w google "kurs javascript podstawy" i kliknij cokolwiek.

 

P.S.

Bez urazy :stuck_out_tongue:


(Semtex) #7

Proszę uważać na słowa, "nagroda" przyznana...


(escort_) #8

aktualnie skrypt jest na takim etapie:

html
titlekopiowanie/title
body




table
tr
    thTreść informacji/th    thPrzycisk kopiowania/th
/tr
tr
    tddiv id="testText1"Cześć! skopiowana treść/div
    /td    
    tdbutton type="button" onclick="(document.getElementById('testText1').innerHTML);"Kopiuj/button/td
/tr
tr
    td.../td    td.../td
/tr
/table


/body
/html

poprawiłem name na id, oraz zmieniłem value na innerHTML, niestety nadal nie działa


(Jim1961) #9

W tym momencie Twój skrypt nic nie robi :stuck_out_tongue: Zamień

<button type="button" onclick="(document.getElementById('testText1').innerHTML);">Kopiuj</button>

na

<button type="button" onclick="alert(document.getElementById('testText1').innerHTML);">Kopiuj</button>

albo

<button type="button" onclick="prompt('skopiuj - whatever',document.getElementById('testText1').innerHTML);">Kopiuj</button>

(escort_) #10

po zastosowaniu się do Twoich wskazówek wyświetla informację w postaci okna dialogowego i dalej pod kombinacją CTRL+V nie ma tego co trzeba.


(Jim1961) #11

Gdyż ponieważ, robiła to pewnie funkcja "copyToClipboard" zastąpiona przez alert/prompt, ale nie udostępniłeś, więc nie wiadomo.


(escort_) #12

czego nie udostępniłem? copyToClipboard zaczerpnąłem z innego skryptu znalezionego w google.


(Jim1961) #13

Ale to nie jest natywna funkcja Javascript. Należy ją najpierw napisać, bądź podlinkować w sekcji HEAD.

 

Pewnie stąd kopiowałeś: http://www.dynamic-tools.net/toolbox/copyToClipboard/ no więc:

1) to co jest w tym polu tekstowym (zaczyna się od function copyToClipboard(s) ...) wklej do osobnego pliku o nazwie "copyToClipboard.js"

2) plik ten umieść w tym samym katalogu w którym masz plik z HTMLem

3) w sekcji HEAD wklej coś takiego:

<script type='text/javascript' src='copyToClipboard.js'></script>

4) powinno działać

5) wpisz w google "kurs javascript podstawy" i ... ponownie polecam ... przerób jakiś kurs.


(manieKMP) #14

Ale wiecie chyba, że takie js'owe kopiowanie do schowka mogłoby zadziałać co najwyżej w IE i/lub Safari... dla przykładu Fx blokuje dostęp do systemowego schowka dla js (danie dostępu wymaga zmian w konfiguracji tej przeglądarki), a rozwiązanie flash'owo-js'owe (mające działać na każdej z przeglądarek) jest uzależnione od wersji flash player'a (od werji 10 wprowadzono obostrzenia ze względów bezpieczeństwa) i jest trudniejsze w implementacji na stronie.

 

PS. Dla zainteresowanych, pierwszy lepszy temat w sieci.


(Jim1961) #15

@manieKMP

To, że to praktycznie nigdzie nie zadziała nie jest meritum tematu :wink:


(manieKMP) #16

No chyba że tak się "sprawa przedstawia". Tylko żeby autor tematu nie testował rozwiązań na innych przeglądarka niż IE, z wiadomych względów... :wink:


(escort_) #17

ten "skrypt" ma służyć jako dodatek do zautomatyzowania procesu nie jest to żadna strona internetowa. Pod IE działa i to mi spokojnie wystarczy do .js wrzuciłem inny opis funkcji copytoclipboard.

 

Zauważyłem jeden problem gdy mam podane w tekście linki do strony www w której występuje & to po kliknięciu kopiuj automatycznie dodaje się po & czy da się to jakoś ogarnąć? Z góry dzięki za pomoc.