Firebug segnala un errore di "non ritorno in funzione" senza posizione (beh, riga 1 di nulla). Come posso rintracciare la fonte di questo errore?Restituire non in funzione
return not in function
[Break on this error] return(0)
javascript:return... (line 1)
Sto eseguendo FireBug 1.05 su FF 2.0.0.20 su Ubuntu.
ho trovato una soluzione che funziona (per questa configurazione):
var link = document.createElement('a');
link.href='/';
if (childSummary.more) {
link.onclick = capture(function(id) { follow(id); }, childSummary.id);
} else {
link.onclick = capture(function(id) { show(id); }, childSummary.id);
}
link.appendChild(document.createTextNode(name));
div.appendChild(link);
[...]
function capture(fn, val) {
return function() { fn(val); return false; };
}
Il codice sia in un ciclo in cui l'id stava cambiando, richiedendo la funzione di cattura.
Precedentemente l'href era 'javascript: return 0' e la funzione di cattura non restituiva direttamente false, utilizzando invece il risultato di fn, e c'era un percorso quando restituiva l'equivalente di true. L'href veniva valutato causando l'errore.
La definizione di href come '#' o '' ha causato la visualizzazione di tutti i collegamenti come già visitati. La mancata definizione di href ha causato l'assenza di evidenziazione del collegamento. Questo sembrava il più semplice.
Sembra. Sto usando javascript per generare un collegamento con una funzione onclick e l'impostazione dell'attributo href del collegamento. La funzione onclick restituisce false alla fine della sua operazione e ho pensato che questo avrebbe impedito di valutare l'href. Poiché questo ha appena iniziato a fallire, mi chiedo se qualcosa prima nella funzione onclick si comporti diversamente. – dougfelt
Potremmo vedere il codice esatto per il tuo link?"Restituisci falso" va bene all'interno di un onclick; impedisce che l'href venga valutato. Ma se lo stai usando in questo modo, lo stesso href dovrebbe essere un URL, non più JS. –
Questa è una buona spiegazione su come utilizzare onclick per impedire che vengano caricati ancore: http://www.javascripttoolbox.com/bestpractices/#onclick –