[JavaScript e prototype.js] Simulare un click su un HTMLAnchorElement

  • Creatore Discussione Creatore Discussione whiles
  • Data di inizio Data di inizio

whiles

Nuovo Utente
15 Gen 2008
1
0
0
Salve a tutti, sto cercando in tutti i modi di simulare (a tutti gli effetti) un click su un elemento <a>. Ho trovato questo metodo, utilizzando il prototype:

PHP:
window.addEventListener('load', function(event) {
   HTMLAnchorElement.prototype.click = function() {
      var evt = this.ownerDocument.createEvent('MouseEvents');
      evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0,
      0, 0, 0, false, false, false, false, 0, null);
      this.dispatchEvent(evt);
   }

   var buildAnchors = document.getElementsByTagName('a');
   for (var i = 0; i<buildAnchors.length; i++) {
      if (buildAnchors[i].innerHTML.indexOf('livello')>-1) {
         alert(buildAnchors[i]);
         buildAnchors[i].click();
         return;
      }
   }
},'false');
Il tutto consiste nell'aggiungere la funzione .click() ad ogni HTMLAnchorElement, poi ciclare su ogni elemento <a> del documento e, se contiene il testo nella variabile 'txt', ci clicca sopra. L'alert compare, significa che l'elemento lo trova (ed è un elemento <a> valido), ma non ci fa click sopra, come se buildAnchors.click(); non esistesse. Nessun errore nè warning nella console js. A cosa può essere dovuto? Ho provato a fare alert(typeof buildAnchors) e restituisce "object". Dovrebbe forse restituire HTMLAnchorElement? non credo...

Ah, non mi interessa la compatibilità, mi interessa solo che lo script funzioni con Firefox. Grazie
 

Discussioni simili