Avaleht
uus teema   vasta Tarkvara »  WWW »  Kuidas klaviatuuriklahvi vajutamisel kleepida tekst lõikelaualt tekstikastidesse (Firefoxi + javascript)? märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
LiivaneLord
Sõpradele "Olavi"

liitunud: 20.06.2006




sõnum 27.08.2013 22:53:25 Kuidas klaviatuuriklahvi vajutamisel kleepida tekst lõikelaualt tekstikastidesse (Firefoxi + javascript)? vasta tsitaadiga

Kasutades näiteks Ctrl+Shift+1 klahvikombinatsiooni, soovin, et valitud tekstikasti ilmuks tekst, mis asub lõikelaual.

Seda ma tean, kuidas selle klahvikombinatsiooniga vajalik javascripti käsk käima tõmmata, aga puudu on justnimelt see käsk, mis võtaks lõikelaualt (clipboard) teksti ja asetakst selle vajalikku kohta.

icon_confused.gif

IE-ga saab ja IE-ga näiteks see kood toimib:
html:
  1. function Copy() {
  2.  if(window.clipboardData) {
  3.    window.clipboardData.clearData();
  4.    window.clipboardData.setData("Text", document.getElementById('txtacpy').value);
  5.  }
  6. }
  7. function paste() {
  8.  if(window.clipboardData) { 
  9.  alert('test');
  10.    document.getElementById('txtapaste').value = window.clipboardData.getData("Text");
  11.  }
  12. }
  13. </script>
  14. <a href="javascript:Copy();">Copy</a>
  15. <br />
  16. <input type="text" name="txtacpy" id ="txtacpy"/>
  17. <br />
  18. <a href="javascript:paste();">Paste</a>
  19. <br />
  20. <input type="text" name="txtapaste"  id="txtapaste"/>

Firefoxiga aga mitte.

http://liivanelord.planet.ee/test.php
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 19
tagasi üles
vaata kasutaja infot saada privaatsõnum
tiitise
HV kasutaja

liitunud: 04.03.2005



Autoriseeritud ID-kaardiga

sõnum 27.08.2013 23:28:17 vasta tsitaadiga

see peaks sinu küsimusele vastuse andma: http://stackoverflow.com/questions/127040/copy-put-text-on-the-clipboard-with-firefox-safari-and-chrome
Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 6
tagasi üles
vaata kasutaja infot saada privaatsõnum
Märt.
HV Guru
Märt.

liitunud: 17.01.2004




sõnum 29.08.2013 12:52:22 vasta tsitaadiga

Mai ei saa pihta, miks Ctrl+c ja Ctr+v ei kõlba, töötavad mõlemad. icon_rolleyes.gif l
_________________
Albert Einstein: "Vaid kaks asja on lõpmatud, universum ja inimlik rumalus, ja selles esimeses pole ma nii kindel."
Kommentaarid: 29 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 23
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
LiivaneLord
Sõpradele "Olavi"

liitunud: 20.06.2006




sõnum 29.08.2013 16:44:20 vasta tsitaadiga

Märt. kirjutas:
Mai ei saa pihta, miks Ctrl+c ja Ctr+v ei kõlba, töötavad mõlemad. icon_rolleyes.gif l

Mul on vaja, et klahvikombinatsioon teeks teksti redigeerimise mu eest automaatselt ära. Ctrl+V on ammu kleepimise otstarbeks ära kasutatud ja vajan enamat ...

Minu ettekujutus asjast:

if(I press Ctrl + Shift + 1){
document.getElementById('eID').value+="midagi teksti ette "+clipboard.value+" midagi teksti järele";
//Maybe veel midagi vaja kuskil lõikelaua sisu kasutades replaceda, kustutada, lisada jne jne. Tekstis teha korrektsioone automaatselt jms.
}

http://www.steamdev.com/zclip/
See toimib, aga see kopeerib lõikelauale sisestatud teksti, aga kuna ma koodist aru ei saa, siis ei ole ma kindel, kas alert tegelikult üldse lõikelaualt võetakse või kasutatkse otse sisestatud teksti.

Mul vaja lõikelaualt KLEEPIDA või leida mingi funktsioon, mis sisaldaks lõikelaual oleva jama sisu. Kas tõesti mission impossible? icon_eek.gif

Milleks teha standardtoiminguid ise, kui selleks on arvuti. icon_smile.gif
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 19
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 29.08.2013 17:10:14 vasta tsitaadiga

Firefoxiga on clipboard keelatud ja imelik, et see flashi ja IE puhul by default keelatud pole kuna clipboardil võib olla konfidentsiaalset infot, mille suva leht sinu teadmata kätte saab. Kui teed seda ainult enda või valitud seltskonna jaoks, siis siin on juhend, kuidas firefox-s clipboard lubada:
http://stackoverflow.com/questions/10640036/how-do-you-configure-firefox-to-allow-javascript-to-intercept-a-value-pasted-fro
aga mõistagi ei ole sellest abi juhul, kui avalikku lehte teed.
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 29.08.2013 17:42:44 vasta tsitaadiga

Tegin mingi lahenduse, ei tea kas sobib
html:
  1.  
  2. <script type="text/javascript" src="jquery-1.7.1.js"></script>
  3. <script type="text/javascript" >
  4. $(document).ready(function()
  5. {
  6.         var tekst1 = "Tegime midagi";
  7.         var tekst2 = "Saabusime koju";
  8.         var out = "";
  9.        
  10.     var ctrlDown = false;
  11.     var ctrlKey = 17, vKey = 86, cKey = 67, qKey = 81;
  12.  
  13.     $(document).keydown(function(e)
  14.     {
  15.         if (e.keyCode == ctrlKey) ctrlDown = true;
  16.     }).keyup(function(e)
  17.     {
  18.         if (e.keyCode == ctrlKey) ctrlDown = false;
  19.     });
  20.  
  21.     $("#searchbox").keydown(function(e)
  22.     {
  23.        
  24.         if (ctrlDown && e.keyCode == qKey ) {out = tekst1 + ' ' + $("#searchbox").val() + ' ' + tekst2; $("#out").html(out);}
  25.     });
  26. });
  27.  </script>
  28. </head>
  29.  
  30.  
  31.  
  32. <input type="text" name="gg" size="40" maxlength="256" id="searchbox">
  33. Kirjuta kasti tekst ja vajuta Ctrl + q
  34. <div id="out"></div>

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
LiivaneLord
Sõpradele "Olavi"

liitunud: 20.06.2006




sõnum 01.09.2013 08:15:13 vasta tsitaadiga

andrusny, see kood ei kasuta lõikelauda üldse. Vaja oleks kleepida neid andmeid, mis on lõikelaual ja mis omakorda on sinna kopeeritud ükskõik kust (siiski enamasti Firefoxis mingilt teiselt veebilehelt).

Turvalisus ei kannata, kuna kood töötaks ainult minu valitud veebilehel, mis on 99,9% turvaline.

Muutsin koodi, aga millegipärast see kood ei toimi, kuigi vist peaks? -> http://liivanelord.planet.ee/test.php
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 19
tagasi üles
vaata kasutaja infot saada privaatsõnum
HacaX
HV Guru
HacaX

liitunud: 22.01.2004




sõnum 05.09.2013 16:33:09 vasta tsitaadiga

Nagu napoleon viitas: Fx'is on keelatud lõikelauale ligipääs (erinevalt default sätetega IEst). Napoleoni viidatud teemast paistab, et seda piirangut ei saa ka täies mahus välja lülitada ja parim mis välja mõeldi oli Flashi kasutamine (kuna tolle vahendusel saaks clipboardi kallale).
_________________
IMO & GPLed
Kommentaarid: 24 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 22
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
LiivaneLord
Sõpradele "Olavi"

liitunud: 20.06.2006




sõnum 05.09.2013 17:22:21 vasta tsitaadiga

HacaX, nojah, loobun siis sellest soovist.
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 19
tagasi üles
vaata kasutaja infot saada privaatsõnum
napoleon
Unknown virus
napoleon

liitunud: 08.12.2008



Autoriseeritud ID-kaardiga

sõnum 05.09.2013 17:27:14 vasta tsitaadiga

Kaevasin seda natuke, aga isegi kui firefox-s clipboard lubada, ei paista ükski näide toimivat. Niipalju kui googeldasin, on see javascript väidetavalt unprivileged code ja ei peagi clipboardi kallale saama. Mõnes mõttes õige ka, mul võib ju clipboardil mis iganes olla, mis suva tüüpidele pole mõeldud ja pole normaalne, et suvaline leht selle info sealt minu teadmata kätte võib saada. Samas võiks ju olla võimalus, et browser küsib kasutajalt luba ja kui luba on antud, siis saab clipboardi torkida.
Kommentaarid: 77 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 60
tagasi üles
vaata kasutaja infot saada privaatsõnum
LiivaneLord
Sõpradele "Olavi"

liitunud: 20.06.2006




sõnum 21.09.2013 18:25:21 vasta tsitaadiga

Sain probleemi lahendatud teistmoodi - Greasemonkeyga. Lehe laadimisel või teksti kleepimisel teeb javascript vajaliku andmetöötluse ise ära. Üldjuhul on see isegi mugavam lahendus. thumbs_up.gif
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 19
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Kuidas klaviatuuriklahvi vajutamisel kleepida tekst lõikelaualt tekstikastidesse (Firefoxi + javascript)?
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.