Forum Moderators: open

Message Too Old, No Replies

Nested framesets and IE6

         

thekirk

8:23 am on Apr 16, 2003 (gmt 0)

10+ Year Member



newby alert!

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.

tedster

8:50 am on Apr 16, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Welcome to WebmasterWorld, thekirk.

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]

thekirk

9:01 am on Apr 16, 2003 (gmt 0)

10+ Year Member



bear with me here, I am a bit simple when it comes to the coding part of web design.

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]

tedster

10:04 am on Apr 16, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Here's a first guess. In the nested frameset, the line cols="1006*" doesn't really mean anything - there's ONE column and you could omit that code altogether. What it actually says is "take all the space (*) and divide it into 1006 parts. Then give all 1006 parts to the single column."

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.

thekirk

10:35 am on Apr 16, 2003 (gmt 0)

10+ Year Member



Well, well, well...

that seems to of cleared that up for the time being. Works fine now thank you very much, saved me a few days of worry, cheers. i shall keep my eyes open for issues i might be able to help with (highly unlikely)

tedster

5:48 pm on Apr 16, 2003 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Hey, I'm glad it worked. It was just a guess on my part. The code wasn't "wrong" or invalid, but it probably wasn't what was really intended. And it made things unneccesarily challenging for the browser, which is a very literal-minded critter, after all.