www.webdeveloper.com
Results 1 to 4 of 4

Thread: Firefox gives me errow with image viewer

  1. #1
    Join Date
    Aug 2006
    Posts
    76

    Firefox gives me error with image viewer

    Hey guys, I was wondering if anybody could help me with this problem i'm having with my viewer. I'm getting this error

    Error: uncaught exception: [Exception... "Unexpected error arg 0 [nsIDOMWindowInternal.location]" nsresult: "0x8000ffff (NS_ERROR_UNEXPECTED)" location: "JS frame :: test.html :: openWindow :: line 16" data: no]

    Here's my code


    Parent HTML

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html>

    <head>

    <title>asdf</title>

    <script language="JavaScript" type="text/javascript">
    <!-- hide from non-JavaScript Browsers;
    var imageID = "0"
    var newWindow = ''

    function openWindow(url)
    {
    if (newWindow.location && !newWindow.closed)
    {
    newWindow.location.href = url;
    newWindow.focus();
    }
    else
    {
    newWindow=window.open(url,'Tunisia_Photo','width=1000,height=840,resizable=1,toolbar=0,menubar=0,dep endent=0,scrollbars=1,status=0,left=25,top=25');}
    }

    function tidyWindow()
    {
    if (newWindow.location && !newWindow.closed)
    {
    newWindow.close();
    }
    }

    // End hiding -->
    </script>

    </head>

    <body on Unload="tidyWindow()">

    <div id="centrecontent">
    <br />

    <table summary="photo layout">

    <tr>
    <td class="photos">
    <a class="url" href="javascript:imageID=1;openWindow('tunisia_photo.htm?'+imageID)">
    <img class="imgurl" alt="back.jpg" title="resort 01" src="back.jpg" width="92" height="97" />
    </a>
    </td>
    <td class="photos">
    <a class="url" href="javascript:imageID=2;openWindow('tunisia_photo.htm?'+imageID)">
    <img class="imgurl" alt="sml_resort02.jpg" title="resort 02" src="email.jpg" width="92" height="97" />
    </a>
    </td>
    <td class="photos">
    <a class="url" href="javascript:imageID=3;openWindow('tunisia_photo.htm?'+imageID)">
    <img class="imgurl" alt="sml_resort03.jpg" title="resort 03" src="next.jpg" width="92" height="97" />
    </a>
    </td>
    <td class="photos">
    <a class="url" href="javascript:imageID=4;openWindow('tunisia_photo.htm?'+imageID)">
    <img class="imgurl" alt="sml_resort04.jpg" title="resort 04" src="tunisia/sml_resort04.jpg" width="92" height="97" />
    </a>
    </td>

    </tr>

    </table>

    </div>

    </body>

    </html>

    CHILD HTML

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html>

    <head>

    <title>Tunisia Photo</title>

    <script type="text/javascript">
    <!-- hide from non-Javascript Browsers
    imageID=null

    myImages=new Array()
    myImages[0]="blank.gif"
    myImages[1]="back.jpg"
    myImages[2]="next.jpg"
    myImages[3]="email.jpg"
    myImages[4]="tunisia/resort04.jpg"

    imagecounter=myImages.length-1
    i=0

    if (location.search.length > 0)
    imageID=location.search.substring(1);

    function load(imageID)
    {
    document.getElementById('imageviewer').src=myImages[imageID]
    i=imageID
    }


    function previous()
    {
    if (i>1)
    {
    i--
    document.getElementById('imageviewer').src=myImages[i]
    }
    }

    function next()
    {
    if (i<imagecounter)
    {
    i++
    document.getElementById('imageviewer').src=myImages[i]
    }
    }



    function close_window()
    {
    window.close()
    }

    // End Hiding -->
    </script>

    </head>

    <body onload="javascript:load(imageID);">

    <br />

    <div class="center">

    <input src="arrow_left.jpg" type="image" value="" onclick="previous()" alt="Previous button" title="Previous button" />
    <input src="arrow_right.jpg" type="image" value="" onclick="next()" alt="Next button" title="Next button" />
    <br />
    <br />
    <a class="link" href="javascript:close_window()">
    <img width="75" height="50" src="close.jpg" title="Close window button" border="0" alt="close.jpg" />
    </a>
    <br />
    <br />
    <img id="imageviewer" src="blank.gif" alt="Tunisia picture" title="Tunisia picture" border="1" />
    </div>
    </body>

    </html>
    Last edited by Maximus9999; 08-20-2006 at 02:38 AM.

  2. #2
    Join Date
    Jul 2005
    Location
    USA
    Posts
    3,910
    Try changing
    Code:
     if (newWindow.location && !newWindow.closed)
    to
    Code:
     if (newWindow && !newWindow.closed && newWindow.location)
    Please read Guidelines and Suggestions for Posting on Web Development Forums.
    Learn CSS. | SSI | PHP includes | X/HTML Validator | CSS validator | Dynamic Site Solutions

    Design/program for Firefox (and/or Opera), apply fixes for IE, not the other way around.

    Check out my blog.

  3. #3
    Join Date
    Aug 2006
    Posts
    76
    Wow it worked, thanks a lot!

    Weird thing was when i added in newWindow in front of mine it didn't work
    I had to keep the same order as yours, how come?

  4. #4
    Join Date
    Jul 2005
    Location
    USA
    Posts
    3,910
    You're welcome

    If the reference to window still exists but it has been closed it will no longer have a location property, so you have to check in order.
    Learn CSS. | SSI | PHP includes | X/HTML Validator | CSS validator | Dynamic Site Solutions

    Design/program for Firefox (and/or Opera), apply fixes for IE, not the other way around.

    Check out my blog.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

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



Recent Articles