JavaScript, PAGE UP ja PAGE DN

Anonyymi

Ei taida onnistua lähettää PAGE UP ja PAGE DN näppäinten painalluksia JavaScript ohjelmasta. Luvin että täytyisi olla olemassa joku elementti, joka kuuntelee näppäinten painalluksia, kuten TEXT Box tai vastaava, ja jollei näin ole, ei sivu nouse eikä laske vaikka painallukset lähettäisikin.

18

168

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Saattaa johtua turvallisuus syistä, ettei voi automatisoida noita näppäin painalluksia.

      • Anonyymi

        Näin varmaan on.


    • Anonyymi

      document.dispatchEvent:llä pystyy ainakin lähettämään näppäineventtejä.

      • Anonyymi

        Täytyypä etsiä ohjetta, palaan asiaan mikäli on syytä.


      • Anonyymi
        Anonyymi kirjoitti:

        Täytyypä etsiä ohjetta, palaan asiaan mikäli on syytä.

        Laitoin näytteen pastebiniin. https://pastebin.com/29eaMKi2

        Tuossa tehdään keyup-eventti samalla näppäimelle jokaista keydownia kohden.

        Aukaise siis selaimen työkaluista konsoli ja painele näppäimiä. Pitäisi tulla kaksi keyuppia per yksi keydown, paitsi jos painaa näppäintä pitkään, jolloin ei tule "oikeaa" keyup-eventtiä.


      • Anonyymi
        Anonyymi kirjoitti:

        Täytyypä etsiä ohjetta, palaan asiaan mikäli on syytä.

        Joo, noita "voi lähettää" ohjeita kyllä löytyy, mutta esimerkkinä vaikka tämä:

        Otetaan jquery avuksi, ellei sivustolla jo ole käytössä, näin:
        var myScript = document.createElement("script");
        myScript.src = "https://code.jquery.com/jquery-3.5.1.js";
        document.body.appendChild(myScript);

        Ja nyt lähetetään PageDown näppäily:
        document.dispatchEvent(new KeyboardEvent('keypress',{'key':34}));

        Kyllähän tuo sanoo tehneensä tehtävän, mutta mitään ei vaan tapahdu. Eli lähetetty on vaan kukaan ei ottanut sitä vastaan.


      • Anonyymi

        Olisiko sinulla tarjota toimiva esimerkki?


      • Anonyymi
        Anonyymi kirjoitti:

        Laitoin näytteen pastebiniin. https://pastebin.com/29eaMKi2

        Tuossa tehdään keyup-eventti samalla näppäimelle jokaista keydownia kohden.

        Aukaise siis selaimen työkaluista konsoli ja painele näppäimiä. Pitäisi tulla kaksi keyuppia per yksi keydown, paitsi jos painaa näppäintä pitkään, jolloin ei tule "oikeaa" keyup-eventtiä.

        Tuosta esimerkistäsi, sehän ei lähetä näppäilyjä, vaan lukee niitä, se lukeminen ei ole ongelma.


      • Anonyymi
        Anonyymi kirjoitti:

        Tuosta esimerkistäsi, sehän ei lähetä näppäilyjä, vaan lukee niitä, se lukeminen ei ole ongelma.

        En varmaan tiedä mitä ajat takaa, mutta kyllä se lähettää eventtejä. Tässä toinen, jossa lähetetään alanuolella pagedown- ja ylänuolella pageup-eventti (keydown). Havainto näytetään alerttina. Sama tulee siis painetaanko nuolia tai page-näppäimiä.

        https://pastebin.com/AjvUdAef

        Ja elementin mihin lähetät voit tietysti itse valita. Tuo esimerkki lähettää sen document-elementtiin.


      • Anonyymi
        Anonyymi kirjoitti:

        En varmaan tiedä mitä ajat takaa, mutta kyllä se lähettää eventtejä. Tässä toinen, jossa lähetetään alanuolella pagedown- ja ylänuolella pageup-eventti (keydown). Havainto näytetään alerttina. Sama tulee siis painetaanko nuolia tai page-näppäimiä.

        https://pastebin.com/AjvUdAef

        Ja elementin mihin lähetät voit tietysti itse valita. Tuo esimerkki lähettää sen document-elementtiin.

        Kun kirjoitat näppäimistöltä A kirjaimen, sinä paina A kirjainta näppäimistöstä. Minä haluaisin lähettää sen A kirjaimen ilman että kosken näppäimistöön.

        Halutut näppäimet:
        PageDown = 34
        PageUp = 33


      • Anonyymi
        Anonyymi kirjoitti:

        Kun kirjoitat näppäimistöltä A kirjaimen, sinä paina A kirjainta näppäimistöstä. Minä haluaisin lähettää sen A kirjaimen ilman että kosken näppäimistöön.

        Halutut näppäimet:
        PageDown = 34
        PageUp = 33

        Mihin sinä silloin kosket, tai mistä lähetät? Sinne kohtaan koodia pitää kirjoittaa se dispatchEvent-osio. Voit tehdä vaikka niin, että kun kello tulee tasaminuuteille, niin lähetetään eventti. Vain mielikuvitus on rajana. Rippuu siis aivan siitä mitä on tekemässä.

        Noita näppäinkoodeja ei ole muuten pakko ulkoa muistella. Voi käyttää "kirjallista" muotoakin.


      • Anonyymi
        Anonyymi kirjoitti:

        Mihin sinä silloin kosket, tai mistä lähetät? Sinne kohtaan koodia pitää kirjoittaa se dispatchEvent-osio. Voit tehdä vaikka niin, että kun kello tulee tasaminuuteille, niin lähetetään eventti. Vain mielikuvitus on rajana. Rippuu siis aivan siitä mitä on tekemässä.

        Noita näppäinkoodeja ei ole muuten pakko ulkoa muistella. Voi käyttää "kirjallista" muotoakin.

        Tämän saman jo kerroin tuossa ylempänä:
        document.dispatchEvent(new KeyboardEvent('keypress',{'key':34}));

        Tuossa kutsutaan tuota tapahtumaan välittömästi kun painan Enter-painiketta, mutta mitään ei tapahdu.


      • Anonyymi
        Anonyymi kirjoitti:

        Tämän saman jo kerroin tuossa ylempänä:
        document.dispatchEvent(new KeyboardEvent('keypress',{'key':34}));

        Tuossa kutsutaan tuota tapahtumaan välittömästi kun painan Enter-painiketta, mutta mitään ei tapahdu.

        Kokeilin tuota jälkimmäistä e.key == 'Enter' vaihtoehdolla, ja liipasin sillä PageDownin. Näytti toimivan. Huomioi että keypress-eventti ei reagoi nuolinäppäimiin ja vastaaviin.


      • Anonyymi
        Anonyymi kirjoitti:

        Kokeilin tuota jälkimmäistä e.key == 'Enter' vaihtoehdolla, ja liipasin sillä PageDownin. Näytti toimivan. Huomioi että keypress-eventti ei reagoi nuolinäppäimiin ja vastaaviin.

        Laittasitko esimerkin tuosta.


      • Anonyymi

      • Anonyymi
        Anonyymi kirjoitti:

        https://pastebin.com/MkFtyW8z On lähes sama kuin tuo toinen.

        Milläs tavalla tuo PageUp tai PageDown tapahtuma käynnistyy, eli millä tavalla saan sen siirtämään sivua yhden sivun verran alaspäin tai sivun verran ylöspäin, ilman että minä itse painan noita tarvittavia näppäimiä.

        Tuohan edelleenkin vain lukee painetun näppäimen ja tulostaa sen viesti-ikkunassa (alert) , console välilehdellä ja kolmas vaihtoehto on vielä käyttämättä ja se olisi itse dokumentti. Mutta kun haluan vain lähettää sen näppäimen painalluksen näppäimistö puskuriin, niin että se tekisi sen sivun siirron ylös tai alas. En halua lukea mitä näppäintä on painettu.


      • Anonyymi
        Anonyymi kirjoitti:

        Milläs tavalla tuo PageUp tai PageDown tapahtuma käynnistyy, eli millä tavalla saan sen siirtämään sivua yhden sivun verran alaspäin tai sivun verran ylöspäin, ilman että minä itse painan noita tarvittavia näppäimiä.

        Tuohan edelleenkin vain lukee painetun näppäimen ja tulostaa sen viesti-ikkunassa (alert) , console välilehdellä ja kolmas vaihtoehto on vielä käyttämättä ja se olisi itse dokumentti. Mutta kun haluan vain lähettää sen näppäimen painalluksen näppäimistö puskuriin, niin että se tekisi sen sivun siirron ylös tai alas. En halua lukea mitä näppäintä on painettu.

        Okei nyt huomasin mitä varmaan tarkoitit, kun lisäsin sivuun pituutta. Eli ne lähetetyt eventit ei tee selaimessa itsessään mitään page down tai up toimintoa.

        Yksi ratkaisu on tämmöinen, jossa skrollataan käyttämällä scrollBy()-metodia. Esimerkissä enterillä mennään yksi sivu alas, ja backspacella ylös. Alanuoli on kytketty enterin eventtiin, ja ylänuoli backspaceen, eli toimivat vastaavasti.

        https://pastebin.com/rUVw6VxL


      • Anonyymi
        Anonyymi kirjoitti:

        Okei nyt huomasin mitä varmaan tarkoitit, kun lisäsin sivuun pituutta. Eli ne lähetetyt eventit ei tee selaimessa itsessään mitään page down tai up toimintoa.

        Yksi ratkaisu on tämmöinen, jossa skrollataan käyttämällä scrollBy()-metodia. Esimerkissä enterillä mennään yksi sivu alas, ja backspacella ylös. Alanuoli on kytketty enterin eventtiin, ja ylänuoli backspaceen, eli toimivat vastaavasti.

        https://pastebin.com/rUVw6VxL

        Nuolinäppäimet tuossa edellisessä ei toimi näköjään ihan yksi yhteen, vaan ne lisää sen sivun vieritykseen vielä normaalin nuolivierityksen verran. Pitäisi varmaan jotenkin blokata se oletus, vaan olkoot, kun ei ole se pääpointti tässä yhteydessä.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kuolemanrangaistus

      Mielestäni kuolemanrangaistus on väärin kaikissa tilanteissa. Vaikka joku olisi murhannut 10 ihmistä, hänen surmaaminen
      Laki ja rikos
      136
      7277
    2. Miksi persut eivät häädä mamuja pois Suomesta?

      Sitä vartenhan persut äänestettiin valtaan. Nyt valta on persuilla. Mamut nostaa työttömyyskorvauksia. Persut huutaa mam
      Maailman menoa
      111
      5062
    3. Riikka Purra ei estä tehomaksun käyttöönottoa

      Sähkön hinnoittelua koskevan määräyksen on määrä astua voimaan vuoden 2029 alusta, Energiavirastosta kerrotaan. Määräyk
      Maailman menoa
      75
      3838
    4. KL - Sähköautoilu aiheuttaa lisäkustannuksia muille tehopiikkimaksujen muodossa!

      Kauppalehti 15.1.2026 Kommentti / Sähköautoista tuli ongelma – Uusi ”vero” uhkaa Kun perhe ostaa sähköauton ja laittaa
      Hybridi- ja sähköautot
      5
      3346
    5. Sinä olet minun forEver

      Sinä olet minun sielussain, sydämessäin, huulillain, sinä olet ain, Sinä olet vieressäin, kainalossain, sylissäin, ain,
      Ikävä
      27
      3134
    6. Jaguar i pace sähköauto hajosi. Jopa 100 tonnia akun vaihto. Edullisia kilometrejä

      https://www.iltalehti.fi/autouutiset/a/fcaa5ae4-c04d-414d-ac54-dab991758b2e Tuo että sähköautossa ei lämmitys toimi on
      Hybridi- ja sähköautot
      12
      2886
    7. Sanna Marinille pedataan paluuta pääministeriksi?

      Näyttäisi mylly lähteneen käyntiin nyt toden teolla. Nykyiset oikeistodemarit haukutaan vasemmistodemareiden toimesta ni
      Maailman menoa
      61
      2694
    8. Muistakaa demarit, että TE petitte, ei vihreät tai vas.liitto

      Te veitte eduskunnasta turvallisen tilan, veditte sen viemäristä alas. Te demarit, itsensä ylentäneet moraalinvartijat,
      Maailman menoa
      63
      2342
    9. Silminnäkijät kertovat IS:lle useista törkeistä SDP:ssä tapahtuneista häirintätapauksista.

      https://www.is.fi/politiikka/art-2000011749874.html Silminnäkijöiden Iltasanomille kertomusten mukaan SDP:ssä on tapahtu
      Maailman menoa
      91
      2161
    10. Jos kaikki lopulta kuolevat, onko edes pahimmillakaan rikoksilla mitään väliä?

      Kaikki kuolevat lopulta. Siksi ihmisten tekemillä rikoksillakaan ei lopulta ole mitään merkitystä. Joidenkin mielestä t
      Filosofia
      35
      2030
    Aihe