Forum Moderators: open
Frames and Internet explorer 6
I am a graphic designer by trade, yes one of those people who make pages look good but function bad.
My company site uses frames, in a big way. In many parts of the site there are framesets nested in framesets. I have just added one new part and it all works fine apart from on my bosses computer. The issue seems to be Internet Explorer 6.
The frameset in question involves the main frameset (two frames - top one for the navigation and bottom one to hold the nested frameset) the nested frameset has a side frame for navigation and a main frame to load different pages as dictated by the side navigation frame. However in IE6 only one page loads into the frameset and the side navigation is noware to be seen. There are no error messages or blank pages, nothing at all in fact.
Can you post an HTML snippet that contains the frameset code from document? Just remove extraneous details and change any specifics that refer directly to your domain.
I'll bet we can figure this one out, and maybe learn something about IE6 in the process.
[edited by: tedster at 9:46 am (utc) on April 16, 2003]
The html for the main frameset (index.htm):
<html>
<head>
<LINK REL=”SHORTCUT ICON” HREF=”http://www.example.com/favicon.ico”>
<title>TITLE STUFF</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows="64,1*,20" cols="*" border="0" framespacing="0" frameborder="NO">
<frame src="nav1/nav.htm" noresize marginwidth="0" marginheight="0" name="top" scrolling="NO">
<frame src="frameset_prod.htm" name="mid" marginwidth="5" marginheight="5" frameborder="NO">
<frame src="nav1/smart.htm" name="bot" noresize scrolling="NO" marginwidth="0" marginheight="0">
</frameset>
<noframes>
<body bgcolor="#FFFFFF">
</body></noframes>
</html>
The html for the nested frameset:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
<head>
<title>Travel Tips</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows="21,*" cols="1006*" frameborder="NO" border="0" framespacing="0">
<frame src="nav_tips.htm" frameborder="NO" scrolling="NO" noresize name="prodnav">
<frameset rows="*" cols="201*,570*" framespacing="0" frameborder="NO" border="0">
<frame src="nav_tips_side.html" name="leftNav" frameborder="NO" scrolling="auto" id="leftNav">
<frame src="tips.html" name="prodcont" frameborder="NO" scrolling="auto">
</frameset>
</frameset>
<noframes>
<body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
</body></noframes>
</html>
[edited by: tedster at 9:23 am (utc) on April 16, 2003]
[edit reason] use generic wording [/edit]
So try just omitting the cols= attribuite when there is only one column, and likewise omit the rows="*" attribute when there is only one row.
Then let's simplify the most deeply nested frameset. cols="201*,570*" says "divide the space into 771 parts; give the left column 201 of those parts and give the right column 570 of them."
So let's make that easier on the browser. Pick an exact width that you want for the left column - say 201 pixels. And the new code will be cols="201,*"
That says "make the first column 201 pixels wide and give the rest of the space to the right hand column.
Try playing with that and see if IE6 isn't happier.