[thelist] Email address hiding question
David Bailey
dab.hand at xtra.co.nz
Fri Jul 1 04:01:34 CDT 2005
Hi Robert,
Thanks for the suggestion. It looks like a good option. I've tried it out,
but I think I'm missing something (perhaps I just don't know enough about
JavaScript to work out what to do!). I can't get it to open an email window.
I've put it all in one page while I test it:
http://www.dab-hand.co.nz/testbay/email/emailtest.html
Have I done this right?
Regards,
David
> From: "Robert Vreeland" <vreeland at studioframework.com>
> Reply-To: "thelist at lists.evolt.org" <thelist at lists.evolt.org>
> Date: Thu, 30 Jun 2005 23:38:29 -0400
> To: <thelist at lists.evolt.org>
> Subject: Re: [thelist] Email address hiding question
>
> David,
> I don't if this will help, but I'm including the method I use. I prefer it
> over other anti-email harvesting spiders for two reasons. One, it doesn't
> use mailto in the href of the anchor tag just a '# ' so it appears as a
> named anchor tag to the spiders and uninteresting. Two, it still allows a
> user with javascript disabled to at least view the email address. So here it
> is:
>
> Setup your email link like so:
> <a href="#"
> onclick="changeMyColor(this)"><span>info</span>@<span>someplace.com</sp
> an></a>
> The span tags make it unlikely to be parsed by a spider as an email address
> through a regular expression, but won't effect the visual display so
> individuals can still get the email address to manually use.
>
> I would recommend the onclick function being included in an external
> javascript file, but either way use a misleading function name.
> Here is the function I've successfully used in a couple of sites.
>
> function changeMyColor(){
> linkArray = "";
> if(arguments[0].nodeName == ("A" || "a")){
> linkArray = "mailto:";
> linkArray = linkArray + arguments[0].firstChild.innerHTML;
> linkArray = linkArray + "@";
> linkArray = linkArray +
> arguments[0].firstChild.nextSibling.nextSibling.innerHTML;
> arguments[0].href = linkArray;
>
> }
> Basicly it extracts the pertinent info and rebuilds the link as a mailto
> link when clicked by a user with a javascript enabled browser, otherwise the
> link does nothing.
>
> I have tested the script in IE and Firefox, not sure how it works in safari
> though.
> Good luck
> Robert
>
> ----- Original Message -----
> From: "David Bailey" <d.bailey at dab-hand.co.nz>
> To: <thelist at lists.evolt.org>
> Sent: Thursday, June 30, 2005 8:55 PM
> Subject: [thelist] Email address hiding question
>
>
>> Hi,
>>
>> I am having trouble with a JS script designed to hide email addresses on a
>> web site. It was supplied in a newsletter and I can't get hold of the
>> developer of the script.
>>
>> It appeals to me in that it is supposed to work if Javascript is turned
> off
>> in the user's browser.
>>
>> What the script is meant to do:
>> ======================================
>> The URL has been 'decorated' with some spam blocking parts, and a hint
>> appears in the message body ('Please remove spam blocker'). If a user has
>> JavaScript enabled, the onClick() event handler takes control, which
>> exchanges the spam-blocking part with an at-sign. Additionally, the hint
> is
>> removed because it is no longer needed.
>>
>> The Problem:
>> ============
>> It works correctly in a non-JS-enabled browser, but in a JS enabled web
>> browser the following problems occur:
>> 1. When the link is clicked it opens two email windows!
>> 2. The first window opens as it should with the "no-spam" text stripped
> from
>> the email address, but contains the 'Please remove spam blocker' message
> in
>> the Body.
>> 3. The second window (which opens over the top of the correct window)
>> contains the 'no-spam' text in the email address (and "correctly" contains
>> the Subject message).
>> 4. The process seems to open another browser window
>>
>> I don't know enough about js to work out what is wrong. Can anyone help
>> here?
>>
>> I reproduce the script below, but it can also be found as a working
> example
>> at:
>> http://www.dab-hand.co.nz/testbay/email/emailtest.html
>> (The script works the top link called "Information"
>>
>> The script goes:
>> ================
>>
>> In the head of the page:
>>
>> function sendmail() {
>> // cancel std event processing
>> event.returnValue = false;
>> // remove spam blocker
>> var url = event.srcElement.href.replace(".no-spam at please.", "@");
>> url = url.replace("Please remove spam blocker. ", "");
>> // open email window
>> window.open(url);
>> }
>>
>> In the body:
>>
>> <p>
>> <a href="mailto:info.no-spam at please.adomain.com
>> ?subject=Put you subject header here.
>> &body=Please remove spam blocker. Place your message here. Thank you!"
>> onClick="sendmail()">Information</a>
>> </p>
>>
>>
>> Thanks for any help anyone can give me!
>>
>> David
>>
>> --
>>
>> * * Please support the community that supports you. * *
>> http://evolt.org/help_support_evolt/
>>
>> For unsubscribe and other options, including the Tip Harvester
>> and archives of thelist go to: http://lists.evolt.org
>> Workers of the Web, evolt !
>
> --
>
> * * Please support the community that supports you. * *
> http://evolt.org/help_support_evolt/
>
> For unsubscribe and other options, including the Tip Harvester
> and archives of thelist go to: http://lists.evolt.org
> Workers of the Web, evolt !
More information about the thelist
mailing list