SitePoint Sponsor

User Tag List

Results 1 to 3 of 3

Hybrid View

  1. #1
    SitePoint Enthusiast
    Join Date
    Jun 2007
    Posts
    57
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    a problem with frames

    Hi,

    I want to put an iframe (or a frame) in a page on my website, with the content in the iframe coming from another website. But I want the entire page to reload when (1) anyone clicks on any link in the iframe, and (2) anyone clicks on any button (after submitting a form) in the iframe.

    Then why am I using an iframe? Well, that is a channel on my site being powered by the other site. So the look and feel should be mine, but the block in the iframe comes from them.

    Is there any way to do this?

    I had an idea (actually this idea was in another site, it's not mine) that I could put all my content in frames too (header, right side ad and footer), and write a JavaScript function like this that I would get the other site to put in the HTML of all its content that appears in the iframe:

    function doThree(pageA,pageB,pageC)
    {
    (parent.frame1.location=pageA);
    (parent.frame2.location=pageB);
    (parent.frame3.location=pageC);
    }

    and get every hyperlink on the other site look like this:

    <a href="whatever" onclick="doThree('newpage1.html','newpage2.html','newpage3. html')">ONE LINK changes all frames</a>

    The hassle is, they might crib about having to recode a zillion <a href> tags. So is there any way that this could be done in the CSS of the other site itself, by making every hyperlink (anchor tag) automatically run that onclick function, so that I do not have to worry about the manual effort of re-hardcoding several <a href>s, and the missing out that might happen?

    I would really, really appreciate any pointers - either a solution to what I asked, or a completely different approach altogether .

    Again, I would want the frames belonging to my content (as opposed to the frame containing their content) to reload even when someone clicks on a submit button.

    Thank you for reading this through!

  2. #2
    SitePoint Zealot the DtTvB's Avatar
    Join Date
    Jul 2006
    Location
    Thailand
    Posts
    162
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Please take a look at window.frames.

    It should give you some ideas.

  3. #3
    SitePoint Enthusiast
    Join Date
    Jun 2007
    Posts
    57
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Well, I did this (thanks to <a href="http://www.codingforums.com/showthread.php?p=576297#post576297">help</a> - for the benefit of other people who need to do this, here is how:

    Code:
    var loaded = 1;
    function loadMyPages(pageA, pageB, pageC)
    {
       if (loaded>1){
             window.frames["frame1"].location.href = pageA;
             window.frames["frame2"].location.href = pageB;
             window.frames["frame3"].location.href = pageC;
       }
       loaded++;
    }
    
    <iframe src="http://www.othersite.com" onload="loadMyPages('newpage1.html','newpage2.html','newpage3.html')"></iframe>
    
    <iframe name="frame1" src="mypage1.html"></iframe>
    <iframe name="frame2" src="mypage2.html"></iframe>
    <iframe name="frame3" src="mypage3.html"></iframe>


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
  •