Problems between IE5 and IE5.5

liunx

Guest
I have a website that is designed with a frameset. The top frame is for the logo, the middle frame has the navigation bar, and the bottom frame has the content pane. When you roll over the nav bar, I have it set up for the menus, made of div's show up in the third layer. <br />
<br />
I made this site testing with IE5.5 and Netscape6. Everything seemed to work fine in that setup, but then I went to test the same pages at my home, which uses IE5. The menus appear, so it doesn't have to do with the layers or anything, but when I click on the links, only the top frame will change, and the bottom won't do anything. It makes a quick clicking noise, like it is going to do something, and then doesn't change. I have a javascript file that when you click on the menu items, it changes both the top and bottom frames accordingly. Anyone know any differences with IE5 that could cause this weird thing to happen?<!--content-->Working with frames always causes trouble. <br />
<br />
If you look at any of the large sites on the Internet not many use frames. I can only think of Yahoo that use's them.<br />
<br />
If the problem is with scrolling alot of content and wanting to keep the navigation or footer on the page then you have too much content, you need to break it up a little.<!--content-->No, the problem isn't with that, but the content page not changing at all. It has something to do with my javascript that changes the frames. In this, I basically have a bunch of function like this:<br />
<br />
function goHome()<br />
{<br />
if(frames[0].window.location == "shcglogo.html")<br />
{}<br />
else<br />
frames[0].window.location = "shcglogo.html";<br />
frames[2].window.location = "body.shtml";<br />
}<br />
<br />
The first if is checking if the header is already there. Then, it goes on to change both the top and the bottom. Well this file doesn't seem to be working in 5, but does in 5.5.<!--content-->Another weird thing happens with IE 6, sometimes the text is aligned on the right on the screen of the content pane. I have a div in each content pane aligned to right, but this shouldn't cause the test inside to me aligned to the right, just the div, correct?<!--content-->for I have to ask why you are using IE5 still? a lot has changed between IE5 and IE6. but that small script shouldn't make a difference.<br />
<br />
do you have a link so we can check it out?<!--content-->Here's a link to what I got...it works on IE 5.5, IE 6.0, and Netscape 6.0. Any help would be greatly appeciated.<br />
<br />
<!-- m --><a class="postlink" href="http://www.bryantedc.com/users/e6/brinkmanW/2002/index.html">http://www.bryantedc.com/users/e6/brink ... index.html</a><!-- m --><!--content-->are you sure you have tha tright?<br />
<br />
shouldn't it be<br />
<br />
parent.frame[2].location =<br />
<br />
instead of<br />
<br />
frames[2].window.location =<br />
<br />
also you can try to use the name of the frame instead of the array. although the frame array is legal so it shouldn't matter. but worth a try.<!--content-->also make sure you don't have:<br />
<br />
frames[x].locaton=='http://something.com'<br />
<br />
you should have only one equals sign:<br />
<br />
frames[x].locaton='http://something.com'<br />
<br />
one equals means setting a value. var a=6; document.location='http://www.yahoo.com'<br />
<br />
two equals tests for comparison:<br />
<br />
if (this=='that'){do something}<!--content-->Yeah, I knew about the == and = signs. That's why I had two = signs on the first part, because I was checking to see if it was that page, and the other ones are the assignment ='s. <br />
<br />
Scoutt, do you think using the parent. way might make it work??<!--content-->might be. have you tried it yet?<!--content-->I am going to in a little bit, right now I am actually, funny enough, validating my code. This will probably make creative666 pretty happy.<!--content-->using if (frames[x].loaction=='........') <br />
is ok as long as this code sits in the frameset, and not one of the framed pages. If so, then use scoutts, if (parent.frames[framename].location=='......')<br />
<br />
you could place the code in the frameset page, and call it with passed parameters if you like.<!--content-->I am going to in a little bit, right now I am actually, funny enough, validating my code. This will probably make creative666 pretty happy.<br />
<br />
:D < -- That actualy hurts at the moment cause I was beaten up last night!!<!--content-->Beaten up??? For validating you code?? haha, no why were you beat up?<!--content-->Nope not for validating code, got knocked out. Dont know what happend, CCTV cameras didnt get anything, Police cant help that much, have to speak to my friends see if they know any more.<br />
<br />
Got a week off work though, but a huge black eye, and cut face, and head aches aplenty! :cool:<!--content-->OK, I finally got around to finding IE 5.0 to test it on my PC. I changed my linking javascript to the way that Scoutt recommended, but it still doesn't work. The top part (frame 0) changes, but the body (frame 2) remains the same. Here is my code:<br />
<br />
function go(header, body)<br />
{<br />
if(parent.frames[0].location == header)<br />
{}<br />
else<br />
parent.frames[0].location = header;<br />
<br />
parent.frames[2].location = body;<br />
}<br />
<br />
I generalized it so it passes in the arguments. If anyone has any idea as to why it couldbe acting weird, one 5.0 only, please drop me a line. I can't for the life of me figure it out.<br />
<br />
And here is the link to the site again: <br />
<br />
<!-- m --><a class="postlink" href="http://www.bryantedc.com/users/e6/brinkmanW/2002/index.html">http://www.bryantedc.com/users/e6/brink ... index.html</a><!-- m --><br />
<br />
Any help would be awesome. Thanks<!--content-->you can also do the frame name<br />
<br />
parent.frame_name.location = header<!--content-->OK, I will give that a try. Does IE 5 not allow the frames array??<!--content-->Tried it, and does the same thing. What I really don't get is why the header would change, with the code that I have in there, while the body doesn't change at all. I feel like I am missing something, but I have no idea what.<!--content-->I have been messing around with it, and when I change the content assignment so that it changes, the middle frame, or frames[1], it does work. So the code is correct, it must just be something with that bottom frame messing up in IE 5. Here is my frameset, maybe someone can find what is preventing the bottom one from changing. Arg....haha.<br />
<br />
<frameset rows = "18%,6%,76%"><br />
<br />
<frame src = <!-- m --><a class="postlink" href="http://www.htmlforums.com/archive/index.php/">http://www.htmlforums.com/archive/index.php/</a><!-- m -->"shcglogo.html" name = "logo" frameborder=0 noresize scrolling = "NO" marginheight=0 marginwidth=0><br />
<frame src = <!-- m --><a class="postlink" href="http://www.htmlforums.com/archive/index.php/">http://www.htmlforums.com/archive/index.php/</a><!-- m -->"testmenu.shtml" name = "nav" frameborder=0 noresize scrolling = "NO" marginheight=0 marginwidth=0><br />
<frame src = <!-- m --><a class="postlink" href="http://www.htmlforums.com/archive/index.php/">http://www.htmlforums.com/archive/index.php/</a><!-- m -->"body.shtml" name = "content" frameborder=1 noresize scrolling = "YES" marginheight=0 marginwidth=0><br />
<br />
</frameset><br />
<br />
Thanks for the help thusfar guys.<!--content-->Originally posted by HueJorgan <br />
OK, I will give that a try. Does IE 5 not allow the frames array?? <br />
it should allow it, the name of the frames is just another way of doing it. it all looks ok to me so I don't see why it don't work either. I don't have IE5 to run it on so I can't tell you.<br />
<br />
in IE5 do you get an error or anything when you press a link?<!--content-->No, its really weird. When you click on the links, it makes the clicking noise, changes the top frame, and then the bottom frame just sits there. No error, no nothing. I don't understand why it is ONLY donig this with the 3rd frame. It's really weird. I have been through the code a thousand times, and don't see anything wrong with it either.<!--content-->I found a way around it. Instead of changing both of the frames dynamically in the function. I will continue calling the function and doing the header check, but I can just add the other location to the href of the actual link and target the third frame, it worked on IE 5, so I can just modify the code to suit this. Scoutt, if you do know why it was acting like this, I would love to know, because it is boggling me. Thanks for you help.<!--content-->could it have anything to do with that you have parent in the link<br />
<br />
javascript:parent.go<br />
<br />
couldn't you just go<br />
<br />
javascript:go()<br />
<br />
and tehn what you have in the go function should decide what goes where. <br />
<br />
not sure but just a thought.<!--content-->I can try and see what that does. If not, I will just go the other route that I figured out. Thanks.<!--content-->
 
Back
Top