Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Automatyczne kilkanie odnośnika
dark_root
post
Post #1





Grupa: Zarejestrowani
Postów: 341
Pomógł: 1
Dołączył: 19.11.2007

Ostrzeżenie: (10%)
X----


Wiecie może jak zasymulować w js kliknięcie na odnośnik href?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dark_root
post
Post #2





Grupa: Zarejestrowani
Postów: 341
Pomógł: 1
Dołączył: 19.11.2007

Ostrzeżenie: (10%)
X----


ale click() do href nie działa na ff. Są jakieś inne, działające sposoby?
Go to the top of the page
+Quote Post
zegarek84
post
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


Cytat(dark_root @ 28.08.2010, 19:46:04 ) *
ale click() do href nie działa na ff. Są jakieś inne, działające sposoby?
rzeczywiście ;D - a dawniej sporo półautomatów popisałem i jakoś o tym zapomniałem - ale po rozwiązanie wystarczy zerknąć na stronę manualla js mozilli:
element.click
przejrzałem metody obiektu [for(var $key in $ob)...] i nie znajdując click() znalazłem metodę dispatchEvent() [jakoś jej nigdy nie używałem i przy tym problemie nie trzeba z niej kożystać - zależy które rozwiązanie wybierzesz]...

w kodzie daję 2 gotowe rozwiązanie także z użyciem event.initMouseEvent i podpięciem do element.dispatchEvent()... w kodzie są też podpięte na 2 sposoby zdarzenia onclick coby potwierdzić, iż kliknięcie zostało za symulowane [ZAPEWNE TO DO JAKIEGOŚ PÓŁ AUTOMATU POTRZEBUJESZ]... jeśli potem będziesz chciał przekierować stronę na inny adres skorzystasz po prostu z document.location=klikany_link.getAttribute('href'); -> czytaj komentarze w przykładzie...
[edit] - a rozdzieliłem dla czytelności na 2 kody ;p
  1. <head>
  2. <title>Timer</title>
  3. </head>
  4. <body>
  5. <a id="klik" href="http://www.google.pl/">samo się na google kliknie za 2s</a>
  6. <script type="text/javascript">
  7. var klikany_link=document.getElementById('klik');
  8. function przygotuj_zdarzenia_1($el){
  9. $el.onclick=function(e){alert('kliknięty na onklick:'+e.target.parentNode.getAttribute('href'));};
  10. $el.addEventListener('click', function(e){alert('adeventlistener:'+e.target.parentNode.getAttribute('href'));}, false);
  11. }
  12. function mojaWlasnaSymulacja_by_zegarek84($el){
  13. var input = document.createElement('input');
  14. input.type='submit';
  15. $el.appendChild(input);
  16. input.click();
  17. }
  18.  
  19. function jakas_po(){
  20. przygotuj_zdarzenia_1(klikany_link);
  21. mojaWlasnaSymulacja_by_zegarek84(klikany_link);
  22.  
  23. //PRZEKIEROWAĆ POTEM MOŻESZ NP. W TEN SPOSÓB:
  24. // document.location=klikany_link.getAttribute('href');
  25. }
  26. setTimeout(jakas_po, 2000); //czas jest w milisekundach dlatego 20000
  27. </script>
  28. </body>
  29. </html>

  1. <head>
  2. <title>Timer</title>
  3. </head>
  4. <body>
  5. <a id="klik" href="http://www.google.pl/">samo się na google kliknie za 2s</a>
  6. <script type="text/javascript">
  7. var klikany_link=document.getElementById('klik');
  8. function przygotuj_zdarzenia_2($el){
  9. $el.onclick=function(e){alert('kliknięty na onklick:'+e.target);};
  10. $el.addEventListener('click', function(e){alert('adeventlistener:'+e.target);}, false);
  11. }
  12. function simulateClick($el) {
  13. var evt = document.createEvent("MouseEvents");
  14. evt.initMouseEvent("click", true, false, window,
  15. 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  16. $el.dispatchEvent(evt);
  17. }
  18. function jakas_po(){
  19.  
  20. przygotuj_zdarzenia_2(klikany_link);
  21. simulateClick(klikany_link);
  22.  
  23. //PRZEKIEROWAĆ POTEM MOŻESZ NP. W TEN SPOSÓB:
  24. // document.location=klikany_link.getAttribute('href');
  25. }
  26. setTimeout(jakas_po, 2000); //czas jest w milisekundach dlatego 20000
  27. </script>
  28. </body>
  29. </html>

jednym słowem nie ma rzeczy nie możliwych... masz łeb i h* to kombinuj ;p

Ten post edytował zegarek84 28.08.2010, 20:29:49
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.12.2025 - 13:19