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:
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
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');
Ah, non mi interessa la compatibilità, mi interessa solo che lo script funzioni con Firefox. Grazie