On 1 Jan., 12:17, Birger Sørensen <
s...@bbsorensen.com> wrote:
> Rune Jensen forklarede den 1/1/2013:
>
> > Mit f rste sp rgsm l g r p , at jeg ikke f r godkendt int (for
> > integer). Hvad pokker hedder heltalsfunktionen i javascript?
>
> if i/f != int(i/f) {
> skal formentlig v re
> if (i/f != parseInt(i/f)) {
> eller
> if (((i/f) % 1) !== 0) {
>
> Man kan undlade ; efter statements. Det er en rigtig skidt ide.
> Parseren s tter s selv et - men er ikke altid lige god til at finde
> det rigtige sted.
Jeg kan sige, efter at have moslet meget længe, at det er MEGET
vigtigt, man sætter ; efter hver linje, ellers giver det fuldstændigt
tilfældigt resultat eller virker slet ikke.
Og så skal man bruge alert() til at finde bugs med, det er også en god
ting at huske.
Derudover, så har jeg foreløbigt måttet lægge det til sidst i koden,
for at være sikker på, at alle a-er er indlæst, før de opdateres.
Jeg har nu følgende kode:
<script charset="ISO-8859-1" type="text/javascript">
findlinks();
function findlinks(){
var a;
a = document.getElementsByTagName("a");
var i;
var ah;
for (i=a.length-1; i >0; i--){
ah = a[i].href
if (ah.indexOf( 'mailto:') ===0 && ah.indexOf( '.invalid') ===
(ah.length-8)){
// alert(ah.indexOf( '.invalid'))
a[i].href = clearText(ah);
}
}
}
function clearText( str) {
var f=3;
var i;
var s = '';
var l = str.length;
var addr = str.substring(7, l-8);
// alert(addr);
var al = addr.length;
for (i=0; i <=al; i++){
if ((i/f) !== parseInt(i/f)) {
// s += ( str.charCodeAt( i) );
s += ( String.fromCharCode(addr.charCodeAt( i)));
// alert(s);
// s += (addr.substring(i,1); // virker ikke???
// s += (addr.substring(2,2);
// s = '';
// s = addr.substring(5,5)
}
}
return s;
}
</script>
...det virker, MEN... det bruger ikke substring, men en dobbelt
konvertering af nuværende karakter, og det virker ikke optimalt.
Hvorfor vil substring ikke virke? Det lægger ikke enkeltkaraskterer
sammen, mere store dele af strengen, og den samme del flere gange, så
jeg f.eks. får flere @ og det dur ikke.
MVH
Rune Jensen