This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

Caută ajutor

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Află mai multe

Acest fir de discuție a fost arhivat. Adresează o întrebare nouă dacă ai nevoie de ajutor.

Frame id not recognized by javascript in firefox 8.0

  • 4 răspunsuri
  • 2 au această problemă
  • 1 vizualizare
  • Ultimul răspuns de cor-el

more options

I have a frameset that includes a frame with id="main" When I click a link that invokes javascript referencing top.main it comes up as undefined. This code runs perfectly well in IE, in Chrome and on Android Tablets.

I guess I will have to tell my users to use one of those browsers instead of Firefox.

The code in file tophelp.htm is:

<frameset cols="162px,*">
<frame noresize="noresize"  style= "border-right-width:thick; border-right-color:Maroon;" id="contents" src="navhelp.htm" />
<frameset rows="30px,*">
<frame frameborder=0  id="mainhd" marginheight="3" marginwidth="8" src= "Helphead.htm" />
<frame frameborder=0  id="main"   src= "Helpmain.htm" />
</frameset>
</frameset>

A JS function in this page has code:

top.main.location.href = "HelpOverview.htm"

This code generates an error: top.main is not defined.

I have a frameset that includes a frame with id="main" When I click a link that invokes javascript referencing top.main it comes up as undefined. This code runs perfectly well in IE, in Chrome and on Android Tablets. I guess I will have to tell my users to use one of those browsers instead of Firefox. The code in file tophelp.htm is: <pre><nowiki><frameset cols="162px,*"> <frame noresize="noresize" style= "border-right-width:thick; border-right-color:Maroon;" id="contents" src="navhelp.htm" /> <frameset rows="30px,*"> <frame frameborder=0 id="mainhd" marginheight="3" marginwidth="8" src= "Helphead.htm" /> <frame frameborder=0 id="main" src= "Helpmain.htm" /> </frameset> </frameset></nowiki></pre> A JS function in this page has code: <br /> <pre><nowiki>top.main.location.href = "HelpOverview.htm" </nowiki></pre> This code generates an error: top.main is not defined.

Modificat în de cor-el

Soluție aleasă

Use name instead of id in the frame and use window.top instead of top.

You probably need to include the protocol as well.

window.top.main.location.href = "http://HelpOverview.htm";

<frameset cols="162px,*">
<frame noresize="noresize"  style= "border-right-width:thick; border-right-color:Maroon;" name="contents" src="navhelp.htm" />
<frameset rows="30px,*">
<frame frameborder=0  name="mainhd" marginheight="3" marginwidth="8" src= "Helphead.htm" />
<frame frameborder=0  name="main" src= "Helpmain.htm" />
</frameset>
</frameset>

http://forums.mozillazine.org/viewtopic.php?f=25&t=2581145

Citește acest răspuns în context 👍 0

Toate răspunsurile (4)

more options

Try posting at the Web Development / Standards Evangelism forum at MozillaZine. The helpers over there are more knowledgeable about web page development issues with Firefox.
http://forums.mozillazine.org/viewforum.php?f=25
You'll need to register and login to be able to post in that forum.

more options

Soluție aleasă

Use name instead of id in the frame and use window.top instead of top.

You probably need to include the protocol as well.

window.top.main.location.href = "http://HelpOverview.htm";

<frameset cols="162px,*">
<frame noresize="noresize"  style= "border-right-width:thick; border-right-color:Maroon;" name="contents" src="navhelp.htm" />
<frameset rows="30px,*">
<frame frameborder=0  name="mainhd" marginheight="3" marginwidth="8" src= "Helphead.htm" />
<frame frameborder=0  name="main" src= "Helpmain.htm" />
</frameset>
</frameset>

http://forums.mozillazine.org/viewtopic.php?f=25&t=2581145

Modificat în de cor-el

more options

Changing from 'id' to 'name' did the trick. Thanks.

more options

You're welcome.