Opened 16 years ago
Closed 16 years ago
#1187 closed bug (fixed)
IE: removing of #__ie_init in a FRAMESET causes weird loading of another frame (SVN)
Reported by: | blueyed | Owned by: | brandon |
---|---|---|---|
Priority: | major | Milestone: | 1.1.3 |
Component: | event | Version: | 1.1.2 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
I've experienced the following problem using jQuery SVN and Internet Explorer 6.
If you have a frameset with two frames, the back/forward buttons behave weird: they cause a page to get loaded in a frame which does not belong there (and was not displayed there, before going to another link and pressing back).
I will attach files for testing this:
- Extract the attachment to a directory
- Put jquery.js into the directory (or adjust the path(s))
- Open frameset_1.html in Internet Explorer
- Click on "2" in the top frame
- This will open frameset_2.html
- Click "Back"
- You will see "frame_b_2.html" in the top frame, instead of frame_a.html
This is caused by the following jQuery code:
jQuery(window).load(function(){ jQuery("#__ie_init").remove(); });
which was added because of ticket #1061.
My hacky solution for this was adding
if( ! window.frames.length )
before it, so that the code won't get used for FRAMESETs.
The real fix probably is to not include jQuery in a FRAMESET page at all, but if it gets done it should not cause this weird behaviour.
Attachments (1)
Change History (6)
Changed 16 years ago by
Attachment: | weird-ie-frame-test.zip added |
---|
comment:1 Changed 16 years ago by
Like already mentioned in #1061, it would maybe be the best option to just always leave the ie_init-Hack-Script in the DOM, wouldn't it? At least it has caused two different problems until now.
comment:2 Changed 16 years ago by
Component: | core → event |
---|---|
need: | Review → Patch |
Owner: | changed from john to brandon |
I bet this could be fixed by doing jQuery(self) instead of jQuery(window).
comment:4 Changed 16 years ago by
Other than not cleaning up what are the problems (if any) of leaving the script tag in the DOM?
testcase