Friday, May 17, 2024
 Popular · Latest · Hot · Upcoming
81
rated 0 times [  83] [ 2]  / answers: 1 / hits: 16843  / 11 Years ago, wed, november 20, 2013, 12:00:00

My site is setup like this:



<frameset rows=80,*>
<frame name=top id=top src=header.html>
<frameset id=innerframe cols=300,*>
<frame name=nav src=nav.html>
</frameset>
</frameset>




In header.html I have:



function fAlert() {
alert('test');
}


How can I call fAlert() in nav.html?


I tried



var fframe = parent.document.getElementById('top');
fframe.fAlert();


and also



parent.frames.top.fAlert();



but it didnt work (fAlert is undefined).



Any ideas how I can accomplish this?


More From » html

 Answers
30

First off, don't use framesets and frames. Use iframes--frames are deprecated.



Secondly, provide an id for the iframe (or frame, if you must) in order to direct the function call correctly. (You've already pretty much done this, but I'm being methodical.) I wouldn't name it 'top' because 'top' already has a meaning in terms of windows and frames.



From inside the nav frame, parent.insertYourFrameIdHere.fAlert() should work correctly. This assumes two things: 1) The page and the frame contents come from the same domain, and 2) header.html loaded correctly and there were no script errors in it. Script errors or other issues could keep the function from ever being created.


[#74166] Tuesday, November 19, 2013, 11 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
jaylanw

Total Points: 730
Total Questions: 98
Total Answers: 95

Location: Saudi Arabia
Member since Tue, Nov 29, 2022
1 Year ago
;