Newsgroup: it.comp.lang.javascript
Titolo: email con JS

Ciao a tutti,
volendo fare un link email antiSpam, mi sono accorto che MZ e NN
si inca**ano se clicco in un link fatto in questa maniera:
<a href="#"
onclick="location.href='mailto:'+'info'+'%40'+'
sito.it
'">clicca</a>
Compare un errore nella console JS:
Errore: uncaught exception: [Exception... "Component returned failure code:
0x80004005 (NS_ERROR_FAILURE) [nsIDOMLocation.href]"  nsresult: "0x80004005
(NS_ERROR_FAILURE)"  location: "JS frame :: <unknown filename> :: onclick ::
line 0"  data: no]
Il problema invece non si presenta alla chiamata di:
open('mailto:'+'info'+'%40'+'
sito.it
','mainFrame');
Sapete dirmi qualcosa...

 onclick="location.href='mailto:'+'info'+'%40'+'
sito.it
'">clicca</a>
su una marea di browser Mac e un paio di vecchi Win (NS4.x, IE4.x). Non
ricevo alcun errore.
-- 
mailto: y = i
----------------------------------------
Vivo nel terrore di non essere frainteso 
(Oscar Wilde)

 ricevo alcun errore.
Di questo ti ringrazio...
Ma sui piu' recenti NN6 e NN7 e MZ1.x, cosa succede?!? Cioe' mi confermi che
anche a te da errore...
Tra l'altro la cosa strana e' che apre il programma di posta el.
predefinito...
Boo, comunque mi rinfranca il fatto che l'altro modo non da noie ed e'
accettabile comunque...

 che anche a te da errore...
No, confermo ciň che ho detto prima: non ricevo errore, funge bene.


 No, confermo ciň che ho detto prima: non ricevo errore, funge bene.
Noo :"( Porca pu**ana! Questo non me l'aspettavo...
Avevo capito che l'avevi provato solo su i browser NS4.x, IE4.x cioe' ad es.
NS4.0 e NS4.7! Grazie per i tentativi che hai fatto e non e' quello che
volevo sentirmi dire pero' e' stato utile comunque! Ho capito che prima o
poi formatto tutto e reinstallo... tra l'altro anche IE mi da i numeri,
mah...
Ciao e grazie

 Avevo capito che l'avevi provato solo su i browser NS4.x, IE4.x
Riguardo a Windows avevi capito bene: è un sistema operativo che non ho,
posso solo emularlo; e in quanto a browser arrivo fino a NS4.x e IE4.x.


 posso solo emularlo; e in quanto a browser arrivo fino a NS4.x e IE4.x.
E' vero rileggendo piu' attentamente il post, non avevo capito :(
Beh, allora attendo a formattare tutto, anche se ne avrebbe bisogno...
Comunque se qualcuno volesse provare, non so' ad es. ZER0 se ne ha voglia,
visto che mi sembra che ci sia...

 onclick="location.href='mailto:'+'info'+'%40'+'
sito.it
'">clicca</a>
Se e' per questo "si inca**ano" anche se hai un link fatto in questa
maniera:
<a href="#" onclick="location.href='mailto:
in...@sito.it
'">xx</a>
Non ha nulla a che vedere con la forma, e' una questione diversa. In ogni
caso, non e' un errore bloccante.
Se in ogni caso turba il tuo senso estetico, puoi sempre optare per una
soluzione a mio avviso migliore:
<a href="#" onclick="this.href='mailto:'+'info'+'%40'+'
sito.it
'">invia
mail</a>
et voila', cosi' dovrebbe andare.
BTW, gli antispam dovrebbero essere filtri e applicazioni sul mail server,
questo genere di cose mina l'accessibilita', in quanto solo chi ha JS
attivato puo' "risolvere" l'indirizzo email di chi vuole contattare.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
L'ingegnere non vive, funziona.

 attivato puo' "risolvere" l'indirizzo email di chi vuole contattare.
Beh, io ho previsto una cosa (anzi e' ancora in fase di attuazione...) che
prevede anche un <noscript> con un immagine (e un alt e un title...). Poi se
il tutto non venisse interpretato allora suppongo che il mezzo utilizzato
non possa inviare email...
Ah, solo ora mi viene in mente un'ulteriore alternativa... invece
dell'immagine che non e' un link, mettere un link ad un form. Mmmm sarebbe
solo l'ultima spiaggia (infatti non ci piaceva) e quindi il 99% potranno
usare come voglio io i vari link che aprono il browser predefinito e gli
altri andranno nel form terribile pero' funzionante e iper accessibile e
antiSpam:
Allora gia' che ci siamo ti dico la mia idea:
-    un link in Flash (dinamico in base ai vari parametri...),
-    se non viene interpretato viene visualizzato il link antiSpam con JS
-    altrimenti (ultima spiaggia) un link che rimanda opportunamente ad un
form precompilato...

 amico, comunque...)
Oh, allora lo conosciamo, chi è questo amico in comune? Ce ne sono un po'
che è da qualche tempo che non si vedono più...
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M. -- 

 form precompilato...
Si, vabbe'. E tutto questo per un indirizzo e-mail, che magari e'
in...@miosito.com
 o 
webm...@miosito.com
; e che quindi viene
AUTOMATICAMENTE inserita tra gli indirizzi da spammare, da parte degli
spiders..
Ci sono modi piu' divertenti per passare il tempo. :)
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
Una mente perversa e' un peccato sprecarla.
(A dirty mind is a terrible thing to waste)

> Oh, allora lo conosciamo, chi è questo amico in comune?
Ma veramente qui non ha mai postato, ho appena cotrollato, lui e' ingegnere
informatico e fa programmi non siti... e quindi posta nei NG relativi...
Comunque si chiama Gabriele e si firma anche col cognome che credo non sia
il caso di riportare...

 Eh, che vuoi, non sono bravo ed esperto come te :(
diventa espertissimo, allora: usa google, almeno per le FAQ.
-- 
Splendente in eta` acerba di passione
Rosso fiammante
Ma senza eta` matura
Marcia impostura

 Ci sono modi piu' divertenti per passare il tempo. :)
boo, qual e' il problema, io faccio questa cosa il piu' possibile flessibile
e un domani la riutilizzero' cambiando solo qualche parametro...

 e un domani la riutilizzero' cambiando solo qualche parametro...
Santa pazienza.
Puoi anche tirare su una casa usando la ricotta al posto del cemento. Ma
ogni lavoro/contesto va svolto con lo strumento giusto. E se tanto ti
diverti a costruire case di ricotta, per quanto fighe ti possano sembrare,
ti ripeto: ci sono modi migliori per passare il tempo.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
Tutti quelli che credono nella psicocinesi, per favore alzino la mia mano.

 Ah no eh?
No, perche'? E questa insistenza inizia a pesarmi un po', mi sono perso
qualcosa?!?

 perso qualcosa?!?
Mah...
oppure qualcun altro NON si è perso qualcosa che invece pensavi si fosse
perso?  ;)
Ricorda che il saper dire "ho sbagliato" è virtù dei forti (<=tratto da "le
frasi celebri del Larghi quando è in bala...")
Una volta ho osato postare una domanda in un newsgroup di linux che si
chiamava un qualcosa del tipo "linux.iniziare"....orbene, la hanno
considerata una domanda per linux.avanzata e mi hanno preso a ginocchiate in
faccia via telematica...
Questo newsgroup non è così, IMHO.
Per esempio se uno dicesse "ok, ho sbagliato perché in realtà io...però ho
capito che....e allora...." magari anche privatamente penso che sarebbe
capito, compreso e accettato....
Mio nonno diceva "a buon intenditor poche parole", io ho scritto quel che ho
potuto e mi riritiro nel mio (quasi) abituale riserbo.


si usa...
Uhm, il linguaggio server side non serve a molto o comunque ti
complica la vita inutilimente :-) Uno spider non dovrebbe aver bisogno
di collegarsi ad un server a cui far eseguire del codice che puo'
benissimo "eseguire" lui stesso.
Per rimanere piu' o meno on topic,  fai prima a scrivere
un'applicazione Mozilla che usi XUL, Javascript, XPCOM. Le pagine dei
siti le carichi in un elemento iframe (l'HTML e il Javascript del sito
se li gestisce l'iframe) e ti vai a prendere i dati dal DOM
dell'iframe, dopo di che li scrivi in un file o invii ad un DB tramite
XPCOM :-)
'bye

 qualcosa?!?
Quoto il Larghi.
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
Plagiarism is copying from one source;
research is copying from two or more
(Wilson Mizner)

 potuto e mi riritiro nel mio (quasi) abituale riserbo.
Ma a cosa ti riferisci?!?
Secondo me l'idea dell'email non era male! E altrimenti parliamone!-:
A che servono queste massime e/o frasette, io continuero' a sbagliare...

 XPCOM :-)
Eh, allora tanto piu' che ho ragione a fare un link che richiami una
funzione JS piuttosto che fare una funzione che comunque con un
document.write() poi la scrive direttamente alla luce del sole....

 informatico e fa programmi non siti... e quindi posta nei NG relativi...
:-)
Gli ingegneri che passano da iclj non hanno mai perserverato piu' di 
tanto :-)
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
  ---- Bring Your Site To Life!!!!
http://www.wmtools.it
 ---- WebMasterTools - Servizi per il tuo sito
http://www.dev2dev.it
 ---- La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli i PUNTO .

document.write() poi la scrive direttamente alla luce del sole....
Non con: 
<a href="#"
onclick="location.href='mailto:'+'info'+'%40'+'
sito.it
'">clicca
qui</a>
Nell'iframe hai tutti gli elementi A quindi il tuo metodo non
funziona, gli indirizzi li trovi comunque con qualcosa del tipo:
<html>
<head>
<script type="text/javascript">
function mylocation(){
 this.href="NO";
}
function emailget(){
 this.location=new mylocation();
}
var emails=new Array();
var nemails=-1;
function displayemails(myjavascript){
 try{
	pippo=new emailget();
	pippo.location.href="NO";
	with(pippo){
		eval(myjavascript);
	}
	if(pippo.location.href!="NO"){
pippo.location.href=pippo.location.href.replace(/%40/g,"@");
pippo.location.href=pippo.location.href.replace(/mailto:/gi,"");
		nemails++;
		emails[nemails]=pippo.location.href;
	}
 } catch(e){alert(e.message);}
}
function test(){
try{
	var a=document.getElementsByTagName('A');
	var n=a.length;
	for(i=0;i<n;i++){
		if(a[i].id!="no"){
			if(a[i].onclick!=""){
				ev=String(a[i].onclick);
				be=ev.indexOf('{')+1;
				en=ev.indexOf('}');
				js=ev.slice(be,en);
				displayemails(js);
			}
		}
	}
	var s="";
	for(i=0;i<=nemails;i++){
		s+=emails[i]+" ";
	}
	if(s==""){
		s="nessuna email";
	}
	alert("trovate: "+s);
} catch(e){alert(e.message);}
}
</script>
</head>
<body>
<a href="#"
onclick="location.href='mailto:'+'info'+'%40'+'
sito1.it
'">clicca
qui</a>
<a href="#"
onclick="location.href='mailto:'+'info'+'%40'+'
sito2.it
'">clicca
qui</a>
<a href="#" onclick="alert('non mi freghi');">clicca qui</a>
<br/>
<a id="no" href="#" onclick="test();">Leggi l'email</a>
</body>
</html>
'bye

 tanto :-)
LOL :)
-- 
C'ya,
  ZER0 :: coder.gfxer.webDesigner();
..ma in effetti il concetto di WYSYWYG (quello che vedi e' quello che
ottieni)
si applica ai computer malissimo, cosi' come si applica alle donne...
(The Real Programmer)

 tanto :-)
ROTFL
Stavo infatti per rispondere: "a questa risponderà sicuramente Riccardo", ma
poi ho pensato fosse inutile...


 tanto :-)
No, forse non ci siamo capiti (ora magari glielo chiedero'), ma non ha mai
postato in questo NG! La ricerca che ho fatto con Google me lo
confermerebbe: conosco il suo nick (che come mi sembra di aver gia' detto e'
il suo nome e cognome...)
PS
Siete in vena di OT oggi :)

, p...@t.it.invalid says...

No, non c'entra il tuo amico (credo, il nome non mi dice nulla, ma della 
mia memoria diffido io per primo :-).
E' che negli anni trascorsi sono passati, almeno una volta l'anno, dei 
fenomeni che pretendevano di insegnarci il mestiere (come si programma, 
come si indenta, come si sviluppa algoritmo, come si caXa, come si 
piXXia, etc)... ma non son scappati subito quando (non?) hanno capito 
che non basta essere IngegnIeri per saper lavorare :-)
