PDA

View Full Version : PHP Photo Album script and W3.org validator



rod1e
03-04-2006, 02:24 PM
PHP Photo Album script
http://www.dynamicdrive.com/dynamicindex4/php-photoalbum.htm

It's a great script and works brilliantly... but it will not go thru the validator as XHTML 1.0 Transitional. I know it doesn't make any difference to the function but I would like to keep it tidy and put the w3 valid link on the pages...

I know absolute "0" about scripts, this is the first time I've used them...

a novice work in progress...
This is my page http://www.ifa-scandi.4felts.com/finland/arvi/arvi.htm

Thanks...

jscheuer1
03-04-2006, 02:45 PM
With that DOCTYPE, all you need for validation is to comment out the scripts (additions red):


<script type="text/javascript">
<!--
/***********************************************
* PHP Photo Album script- Dynamic Drive DHTML code library (www.dynamicdrive.com)
* Visit http://www.dynamicDrive.com for hundreds of DHTML scripts
* This notice must stay intact for legal use
***********************************************/
. . . . script text removed for brevity . . .

else
return true
}
// -->
</script>

and:


<div id="navlinks">
<script type="text/javascript">
<!--
for (i=1; i<Math.ceil(galleryarray.length/totalslots)+1; i++)
document.write('<a id="navlink'+i+'" href="javascript:jumptopage('+i+')\">Page'+i+'</a> ')
document.getElementById("navlink1").className="current"
// -->
</script>
</div>

That's it. The preferred method is to make the scripts external but, this will do in this case and is much simpler to explain.

rod1e
03-05-2006, 02:06 PM
Thanks...

To make the scripts external is it the same process as making an external stylesheet??

Twey
03-05-2006, 02:08 PM
More or less. Rather than using <link href="style.css" type="text/css" rel="stylesheet">, use <script type="text/javascript" src="script.js"></script>

Don't forget the </script> tag. Firefox is the only browser I've found that can handle self-closing script tags. I believe that the DD T&C require that you have the copyright notice inside the script tag, when using the script externally; remember to include the Javascript comment delimiters (/* and */), or borkage will happen.

jscheuer1
03-05-2006, 02:23 PM
Here, in case Twey's explanation isn't enough for you, is my stock info on converting internal javascripts to external ones:

Use a text editor to save the script, call it 'file_name.js' where 'file_name' can be any valid file name of your choosing. Substitute the name of your external .js file for some.js in the below:


<script src="some.js" type="text/javascript"></script>

Common problems arise when:

1 ) The script file is not in the directory specified. In the above example it must be in the same directory as the page(s) that use it. Below, it can be in the scripts directory off of the root of a domain:


<script src="http://www.somedomain.com/scripts/some.js" type="text/javascript"></script>

2 ) Opening, closing and/or 'hiding' tags are left in the external file. This means that you must strip:
<script>
<!--and
//-->
</script>and any of their many variations from the beginning and end of the external file.

3 ) The external call (<script src="some.js" type="text/javascript"></script>) is not inserted into the page at the correct spot. The external call must be inserted at the same place on the page where the script was/would have been.

4 ) Paths to other files (if) used by the script are no longer valid due to its location. This is only a problem if the external script is kept in a different directory than the page it was working on when it was an internal script. To correct this, use absolute paths inside the script. Absolute path examples:


http://www.somedomain.com/images/button.gif

http://www.somedomain.com/~mysitename/index.html

5 ) Inappropriately combining two or more scripts into one external file. Usually external scripts can be combined if one knows enough about scripting to do so properly. Even then it is possible to overlook something.

A rule of thumb when testing is, if it won't work on the page, it won't work as an external file either.

One other thing, if this is a DD script or any script that requires the credit remain for legal use, include the credit in the on page call, ex:


<script src="some.js" type="text/javascript">
/***********************************************
* IFrame SSI script II- Dynamic Drive DHTML code library (http://www.dynamicdrive.com)
* Visit DynamicDrive.com for hundreds of original DHTML scripts
* This notice must stay intact for legal use
***********************************************/
</script>

Make sure to retain all the 'decorations', as these include begin and end javascript comment delimiters without which the script won't function.

rod1e
03-05-2006, 02:45 PM
wow... so easy when you know how...

Perfect.. thanks..