conditional compilation is turned off

Q

Québec

Hi every body,

What does that mean?
The following script raises the subject alarm.

<p><a href="javascript:void();"
onClick="mailto:[email protected]?Subject=BRITTANY&nbsp;WORKSHOP">

<img align=left src="britany.gif" width="231" height="40" border=0
alt="BRITTANY WORKSHOP
with Sylvio Gagnon" style="text-indent: .2em;
background:ffffff; color:bb5500;">
</a></p>

Jean Pierre Daviau
 
L

Lasse Reichstein Nielsen

Québec said:
What does that mean?

What? (I.e., don't put an essential part of your message in the subject,
it is confuzing to readers).
The following script raises the subject alarm.
<p><a href="javascript:void();"
onClick="mailto:[email protected]?Subject=BRITTANY&nbsp;WORKSHOP">

Apart from using javscript:-URLs at all, which is recommended against,
the href is syntactically incorrect Javascript. The "void" operator is
not a function, it needs an expression after it.

The onclick attribute value should contain javascript, but instead
contains a mailto:-URL (also recommended against, at least don't rely on
the user being able to use it).

Conditional compilation is something IE uses with its scripting. I guess
it is the "@" in the onclick attribute value that triggers the alert.

/L
 
V

VK

The interpereter expects a JavaScript code in the onClick handler.
This mailto address looks like a uniline conditional assignement
x=(condition)?y:z
So it tries to process this assignement and eveidently falls miserably,
this is the source of the error message.

The right way is (you don't need any script here at all):
<a href="mailto:[email protected]?subject=BRITTANY%20WORKSHOP">Send
e-mail</a>

It's very important to remember to URLEncode (escape) text for subject
and body.
In the particular all spaces have to be replaced by %20 and all line
breaks by %0D%0A
 
T

Thomas 'PointedEars' Lahn

VK said:
The right way is (you don't need any script here at all):
<a href="mailto:[email protected]?subject=BRITTANY%20WORKSHOP">Send
e-mail</a>

And it is to be noted that such hyperlinks depend on an e-mail client
configured for the HTTP user agent that *understands* `mailto:' URIs,
which excludes many visitors using only web interfaces for their e-mail.
One should therefore use a feedback form utilizing a server-side formmailer
application where possible. BTW, an easily configurable and (for
non-commercial use) free formmailer that does not require CGI support
for your webspace, can be found at http://formmailer.com/


PointedEars
 
V

VK

Mailto is an official protocol accepted and documented by 3W years and
years ago.
If some UserAgents still didn't implement it, it's their problem.
~97% did, and it's mighty good for Web.
(Some browsers still cannot handle properly CSS, but it's not a reason
to do not use styles at all).

Yes, mailto has its defaults, the main is that it's easy to grab by
spammers.

Still it gives an opportunity to easy and quickly generate adjusted
e-mail messages without learning server-side scripting, getting access
to this scripting etc.
It's a very helpful tool for beginners.
 
E

Eric Bohlman

Mailto is an official protocol accepted and documented by 3W years and
years ago.
If some UserAgents still didn't implement it, it's their problem.
~97% did, and it's mighty good for Web.
(Some browsers still cannot handle properly CSS, but it's not a reason
to do not use styles at all).

You've missed the point. The big problem isn't that *browsers* don't
understand it (the majority of them do), but that even if the browser
understands it, it works only if the user's system has a *mail* user agent
configured, which will *not* be the case if

1) The user's email provider works by a purely Web interface rather than
SMTP or

2) The user is running on a shared-access machine such as a library
terminal or a computer in an Internet cafe (there are entire countries
where the latter is how the vast majority of Internet users access the
net).
 
Q

Québec

[preceding]
YES
so I added by pressing this button or by writing to: (e-mail address removed)
================
If I write
alert((a == (e-mail address removed))?'subject':'BRITTANY WORKSHOP');

I get conditionnal compilation is turned off

If I write without the @
alert((a == sgagnoncyberus.ca)?'subject':'BRITTANY WORKSHOP');

I get sgagnoncyberus.ca is undefined

alert((a == 'sgagnoncyberus.ca' )?'subject':'BRITTANY WORKSHOP');
 
T

Thomas 'PointedEars' Lahn

Québec said:
[preceding]
YES

?

so I added by pressing this button or by writing to: (e-mail address removed)
?

================
If I write
alert((a == (e-mail address removed))?'subject':'BRITTANY WORKSHOP');
^[1] ^^^^^^^^^^^^^^^^^^[2]

[1] What is `a'?

[2] The mail address must be a string literal,
enclose it in single or double quotes.

[3] What should the above code achieve?
I get conditionnal compilation is turned off
http://msdn.microsoft.com/library/d...tml/jsconconditionalcompilationstatements.asp

If I write without the @

The `@' is not the point, the type of the operand of `==' is.
alert((a == sgagnoncyberus.ca)?'subject':'BRITTANY WORKSHOP');

I get sgagnoncyberus.ca is undefined

Of course, see [2].
alert((a == 'sgagnoncyberus.ca' )?'subject':'BRITTANY WORKSHOP');

FWIW, that is at least syntactically correct and you can re-include
the `@' here.

BTW, I doubt that you have fully understood what was written about
the use of `mailto:'.


PointedEars
 
Q

Québec

Québec said:
I say ok to what was written about browsers in the thread.

If I write
alert((a == (e-mail address removed))?'subject':'BRITTANY WORKSHOP');

I get conditionnal compilation is turned off

If I write without the @
alert((a == sgagnoncyberus.ca)?'subject':'BRITTANY WORKSHOP');

I get sgagnoncyberus.ca is undefined
The var a = ""
I know I should have quoted the address.
So. The @ is what turns on the "conditionnal compilation is turned off"
tml/jsconconditionalcompilationstatements.asp
Aren't we on a javascript newsgroup?

I am sure I mixed you up a bit more. It is a bad talent I have to mix up
everybody and especially myself. :)


Thank you very much.
 
T

Thomas 'PointedEars' Lahn

Québec said:
So. The @ is what turns on the "conditionnal compilation is turned off"

As you can read in the linked documentation, `@' is part of statements for
conditional compilation in JScript, but you need to enable that first. If
you do not and use ´@' *outside* of String/RegExp literals followed by a
alphabetic character anyway, the JScript engine assumes that you are using
such a statement and you get that error message. Tested with IE 6.0 SP-1
on Win2k.
tml/jsconconditionalcompilationstatements.asp
Aren't we on a javascript newsgroup?

We are. JavaScript is Netscape's implementation of ECMAScript, and JScript
is Microsoft's implementation of ECMAScript used in Internet Explorer which
has some special features, as you have seen.


PointedEars
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,008
Latest member
Rahul737

Latest Threads

Top