Problem accessing DOM of window.open result

Discussion in 'Javascript' started by DOM_scripter, Mar 5, 2006.

  1. DOM_scripter

    DOM_scripter Guest

    Hi, I want to set a picture on the fly. For this I have a html file
    with only an <img> tag - kind of a placholder.
    So I do myWindow=window.open("data/myFile.html"). Then I set the src
    attribute of the img object to the image I ant to show. I thought I
    could do this by myWindow.img.src but this does not work. Even
    myWindow.img.src.URL gives me an undefined so I wonder, is DOM access
    of an object I get via "window.open" possible at all?
     
    DOM_scripter, Mar 5, 2006
    #1
    1. Advertising

  2. DOM_scripter

    VK Guest

    DOM_scripter wrote:
    > Hi, I want to set a picture on the fly. For this I have a html file
    > with only an <img> tag - kind of a placholder.
    > So I do myWindow=window.open("data/myFile.html"). Then I set the src
    > attribute of the img object to the image I ant to show. I thought I
    > could do this by myWindow.img.src but this does not work. Even
    > myWindow.img.src.URL gives me an undefined so I wonder, is DOM access
    > of an object I get via "window.open" possible at all?


    You may want to learn the DOM structure.

    You image is a member of images collection wich is a member of document
    object wich is a member of window object:

    myWindow.document.images['imageName'].src = url;
    or (as it's the only image on the page):
    myWindow.document.images[0].src = url;

    The trick is though that DOM addressing is not fully available until
    the relevant window fires "load" event. So if you do everything in the
    row:
    ...
    var myWindow = window.open("data/myFile.html");
    alert(myWindow.document.images[0].src);
    ....
    you still may get en error on the second line because images collection
    or the whole document will not be fully initialised yet.

    If the sole purpose of your popup (which can be blocked btw by a popup
    blocker) to show an image why not load the image itself?

    <a href="bigOne.jpg" target="myPopup"><img src="smallOne.gif"></a>
     
    VK, Mar 5, 2006
    #2
    1. Advertising

  3. DOM_scripter wrote :
    > Hi, I want to set a picture on the fly. For this I have a html file
    > with only an <img> tag - kind of a placholder.
    > So I do myWindow=window.open("data/myFile.html"). Then I set the src
    > attribute of the img object to the image I ant to show. I thought I
    > could do this by myWindow.img.src but this does not work. Even
    > myWindow.img.src.URL gives me an undefined so I wonder, is DOM access
    > of an object I get via "window.open" possible at all?


    Posting an url helps readers reading posts and helps them trying to
    figure out what may be wrong in a page or set of pages.
    For instance, we have no idea how you declare myWindow nor how you make
    the call to change the src attribute.

    You can modify the src attribute of a secondary window

    1- assuming that the cross-domain security restrictions do not apply and

    2- assuming that the document objects have been loaded in the document
    when the access to the image is done. You must know that window object
    and document object are created and loaded asynchronously.

    For 1:
    http://developer.mozilla.org/en/docs/DOM:window.open#Return_value_and_parameters

    For 2:
    http://developer.mozilla.org/en/docs/DOM:window.open#Description

    I have working examples of changing the src attribute of an image in a
    secondary window.

    Gérard
    --
    remove blah to email me
     
    Gérard Talbot, Mar 5, 2006
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. J.Ram
    Replies:
    7
    Views:
    654
  2. Pavel
    Replies:
    7
    Views:
    535
    Pavel
    Sep 19, 2010
  3. Michael Tan
    Replies:
    32
    Views:
    989
    Ara.T.Howard
    Jul 21, 2005
  4. PC HUA
    Replies:
    2
    Views:
    416
    PC HUA
    May 19, 2004
  5. John Derry
    Replies:
    2
    Views:
    114
    John Derry
    Dec 20, 2006
Loading...

Share This Page