Re: JavaScript validation issues

On Thu, 09 Dec 2004 10:06:19 -0500, B.K. DeLong <bkdelong@pobox.com> wrote:

> I've been wrestling with a JavaScript error from the validator for a few  
> days for the following code.
>
> document.write("<SCR" + "IPT Language = 'JavaScript' SRC = '" + wtl_loc  
> + "'></SCR" + "IPT>");
>
> Thanks in advance for any suggestions. I'm wondering if I've just been  
> staring at the code for too long.

The problem with this string is that it contains the end tag open  
delimiter sequence </
When using markup inside a script element you should always escape at  
least the solidus (slash): <\/

example 1:
document.write("<SCR" + "IPT Language = 'JavaScript' SRC = '" + wtl_loc  
+ "'><\/SCR" + "IPT>");

Another way of escaping which might be advisable depending on the script,  
is encoding the LESS-THAN SIGN < of the open tag as \u003C

example 2:
document.write("\u003CSCR" + "IPT Language = 'JavaScript' SRC = '"  
+ wtl_loc + "'>\u003C/SCR" + "IPT>");

Information about this restriction can be found in the validator faq:
http://validator.w3.org/docs/help.html#faq-javascript

and in Appendix B of the HTML 4.01 Recommendation:
http://www.w3.org/TR/html401/appendix/notes.html#h-B.3.2.1


Cheers,

jens

-- 
Jens Brueckmann
http://www.j-a-b.net/

Received on Thursday, 9 December 2004 16:31:52 UTC