views:

254

answers:

2

We have some web pages which have two frames, with one frame in the IE 6 search bar (created using the open("path.htm", "_search"); call). The page shown in the frame on the search bar contains buttons, on click of which we update the right frame. On migration to IE 7, both frames open in their own windows, i.e, I now have two windows open.

On searching the Net, I found that IE 7 has disabled the IE search bar because of security concerns. I guess this is because they now have moved the search text box to the top right, à la Firefox.

My question is, I still need the two frames. So what should I do - I have been toying with the idea of using <frameset> tags, but just thought I'd post to the community to see what other options there are.

NOTE: I did search the Internet, but couldn't really come up with other options.

A: 

None really - the IE6 search bar would obviously never have worked cross-browser anyway, so if you insist on frames your choices are frameset and iframe.

A better option I would suggest would be to simply put whatever searching content you have into the same page where it merely looks like another frame and let ajax (degrading to page reloads for noscripts) do the search and response handling to change the rest of the page, but this depends on exactly what the nature of the searches is. can you explain more?

annakata
@annakata, thanks for the reply."but this depends on exactly what the nature of the searches is" - no.. we don't have any 'searches' taking place. We just have a static left frame that contains buttons; onclick of these, we direct the user to more static pages.. which are shown on the right frame.
Shivasubramanian A
oic - yeah it should just be content on the page then, framed is old school but fine, ajax will look sleeker but you'll have to degrade of course
annakata
A: 

There are a few options & pros and cons.

1.) <frameset>'s in IE7 (and above) fail horribly if you attempt to use the page zoom feature.

2.) <frameset>'s do not allow any content to hover over or escape the frame's boundary (e.g. menus, calendars, etc. will slide under frameset borders, not over)

Thus I personally find framesets rather bulky and unhelpful these days.

What I would suggest, is one page (call it index.html say) that contains all your "search frame" content, AND a large <iframe> on the right that you load content into. This will solve your issue without getting into too much trouble.

+--------------------+
|      +------------+|
|      |            ||
|      |  iframe    ||
|      |            ||
|      |            ||
|      +------------+|
+--------------------+

That all said, if you can have your current "static" right side pages just pull in content, that would be the "search frame" content, this would work better, as you wouldn't lose the ability to bookmark etc.

Are you able to use a server side language here? e.g. PHP or similar would make this task very simple just using a require_once('left_buttons'); type call.

scunliffe