Advanced Search Usage Terms Submit Contact
Dynamic Drive CSS Library
 
CSS Library
Submit an original CSS code
CSS Layouts
Web Graphics
Online Tools:
Last commented:

Dynamic Drive Blog Here

Updating a JavaScript to be XHTML compliant

Date: 05/14/2006 | By ddadmin | Comments: 28

As a webmaster you've undoubtedly noticed the increasing shift in coding practices from HTML to XHTML on the web. If you're a professional web designer, you've probably even heard it first hand from your clients who demand their web pages be XHTML compliant. I get quite a lot of emails on a monthly basis asking for help in making a webpage that contains a DHTML script to be XHTML compliant. A common misconception is that this is a difficult process, which can be no further from the truth.

There are two ways to go about making a DHTML or JavaScript XHTML compliant, both should take no more than a few moments of your time.

Method 1: For inline JavaScript, wrap the code itself in the CDATA tag coupled with some clever use of JavaScript comments to let the validator know the content within the script should not be parsed for XHTML validity:

<script type="text/javascript">
/*<![CDATA[*/
//The JavaScript code itself
//The JavaScript code itself
// etc...
/*]]>*/
</script>

As you can see, just wrap any inline JavaScript with the parts in red, and you're done. You may also choose to use an alternate version of the CDATA/ JavaScript comment code:

<script type="text/javascript">
//<![CDATA[
//The JavaScript code itself
//The JavaScript code itself
// etc...
//]]>
</script>

Either code wrappers work.

Method 2: The other method for making your JavaScript XHTML compliant is to remove the entire script from your page, and place its contents inside an external JavaScript file, then reference this file on your page:

<script type="text/javascript" src="myscript.js">
//Comment here
//Comment here
</script>

Where "myscript.js" contains the script itself minus the surrounding SCRIPT tags. Comments within the script tags are still allowed.

And there you have it. Now a JavaScript no longer has to trip up the XHTML validity of your pages!

Your Comments (28)

Comment Pages 2 of 3 pages  <  1 2 3 >

All text in an XML document will be parsed by the parser. Only text inside a CDATA section will be ignored by the parser.
Posted by Doode on 03/22, 06:29 AM
Wow this is a very quick shortcut, thanks a lot. As you said, I thought this to be a lot harder process :)
Posted by Özel Ders Eğitim Kurs on 04/17, 02:59 PM
We had several issues when we upgraded our app.Thanks
Posted by anoop on 05/18, 02:37 AM
Method 2 worked
Posted by Prem Kumar on 05/18, 02:45 AM
This has made it easy i was getting it wrong some where i had a problem with code wrapper work all this "contents inside an external JavaScript file"

Its now easy to implement Thanks
Posted by DotWhoo on 06/05, 02:28 PM
For some reason this method doesn't seem to work for me. I will check it once again and update again
Posted by Rajesh varma on 06/06, 10:01 PM
Blog giving nice information
Posted by Easyrules on 10/18, 04:17 AM
@Edu Guru: The difference is that in both versions of method 1 the CDATA part is commented out, but JavaScript has two different styles of commenting code.

If you use the style in the second example, you'd have to be careful to not put anything else on the line along with that CDATA or ]] code, because the two slashes mean the entire line is commented out. I think using the first version is a tiny bit "safer."
Posted by Jenn on 11/01, 01:41 PM
Hey nice article thanks for the info,learned something today
Posted by promovare web on 11/28, 06:15 AM
Can one put several javascripts on ONE external whatever.js page?

If so, I'm presupposing that one would "NAME" each script and refer to that?

Please give example if poss.

TIA,
WS
Posted by Working Stiff on 12/12, 12:42 PM

Comment Pages 2 of 3 pages  <  1 2 3 >

Name: (Required)

Email: (Required)

(NOT shown on page)

URL:

(Shown on page if entered)

Comments: (Required)

Supported BB codes: [b], [i], [u], [em], [strike], [strong], [pre], [code], and [blockquote].

Remember my personal information
Notify me of follow-up comments?

Submit the word you see below:


Sponsors

Advertise Here

Copyright 2006-2008 Dynamic Drive Read our Usage Terms before using any of the CSS codes.
Dynamic Drive DHTML and CSS Code Library