Results 1 to 3 of 3

Thread: WC3 markup validation service problem

  1. #1
    Join Date
    Jun 2009
    Location
    Sutherland Scotland (the very far North)
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Exclamation WC3 markup validation service problem

    1) Script Title: jQuery Scroll to Top Control v1.1

    2) Script URL (on DD): http://www.dynamicdrive.com/dynamicindex3/scrolltop.htm

    3) Describe problem:
    This script for the HTML page thows up a WC3 validation service error at the line with the i<=( The < character gives the error. The script works fine as it is but I would have liked to pass the WC3 Markup Validation Service test at http://validator.w3.org/

    Code:
    <script type="text/javascript">
    
    /***********************************************
    * Easy Email Scrambler script- © Dynamic Drive (www.dynamicdrive.com)
    * This notice MUST stay intact for legal use
    * Visit http://www.dynamicdrive.com/ for full source code
    ***********************************************/
    
    var maildivider="[at]" //enter divider you use to divide your email address strings
    
    for (i=0; i<=(document.links.length-1); i++){
    if (document.links[i].href.indexOf(maildivider)!=-1)
    document.links[i].href=document.links[i].href.split(maildivider)[0]+"@"+document.links[i].href.split(maildivider)[1]
    }
    
    
    </script>

  2. #2
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    30,495
    Thanks
    82
    Thanked 3,449 Times in 3,410 Posts
    Blog Entries
    12

    Default

    I've moved this post to the general help area, as failure to pass validation is not a bug. It's just an inconvenience for those who insist upon a 100% pass of the validator, which itself is only a script - therefore not always correct. Even when it is correct, this is more a reflection upon how you have chosen to organize your code (perhaps encouraged by demo page instructions, or not), than upon the efficacy of the script in question.

    Which brings me to my next question. What script?

    You link to the DD script, jQuery Scroll to Top Control v1.1, but in your post you show code that doesn't relate to that script:

    Code:
    <script type="text/javascript">
    
    /***********************************************
    * Easy Email Scrambler script- © Dynamic Drive (www.dynamicdrive.com)
    * This notice MUST stay intact for legal use
    * Visit http://www.dynamicdrive.com/ for full source code
    ***********************************************/
    
    var maildivider="[at]" //enter divider you use to divide your email address strings
    
    for (i=0; i<=(document.links.length-1); i++){
    if (document.links[i].href.indexOf(maildivider)!=-1)
    document.links[i].href=document.links[i].href.split(maildivider)[0]+"@"+document.links[i].href.split(maildivider)[1]
    }
    
    
    </script>
    In any case, the above quoted code is not particularly well written javascript, but that has nothing to do with validation errors. As long as it works, I'm not going to worry about that right now, especially since your main concern appears to be validation.

    The best way to validate a page with javascript on it is to make the script external. Here's my stuff on that:

    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:

    HTML Code:
    <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:

    HTML Code:
    <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:
    Code:
    <script>
    <!--
    and
    Code:
    //-->
    </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:

    Code:
    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 (see usage terms for more info on this, especially item 4 from the terms):

    HTML Code:
    <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.

    There is also info here:

    http://www.javascriptkit.com/javatutors/external.shtml
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

  3. #3
    Join Date
    Jun 2009
    Location
    Sutherland Scotland (the very far North)
    Posts
    4
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Sorry, I listed the wrong Dynamic Drive reference page for the script mentioned. I have several Dynamic Drive scripts in my web page and I picked the wrong reference, sorry for the confusion.

    I was lying in bed thinking about it and realised that there probably was not an error after all as the script works fine. And thought about moving outside as file as you just mentioned. This would mean that the WC3 validation would not see it at all.

    Sorry to bother you. Keep up the good work.

    Jim

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •