开发者

ie6 frame or mode for ie 7/8/9?

开发者 https://www.devze.com 2023-04-06 18:24 出处:网络
Very backwards question really, but we have a legacy system which only works with ie6, and no-other browser.

Very backwards question really, but we have a legacy system which only works with ie6, and no-other browser.

Theres not much chance of this system being renewed anytime soon unfortunately and having to support ie6 for an entire dept is really holding up some of our dev work.

Is there any chrome-like ie6 frame available or any开发者_StackOverflow社区 modes in ie7/8/9 or anything that I dont know of that will allow us to upgrade the browsers and run a web app that only runs under ie6?

Sorry for the horribly backwards question... no-one likes ie6 especially when it stands in the way of progres.

Cheers


IE6 is the only significant version of IE for which there isn't a backward compatibility mode. The irony is that it is probably the version for which it was most needed (the requirement for IE6 compatiblity with internal web apps has been one of the biggest reasons given for corporations refusing to upgrade from it)

You can simulate IE5 using the 'quirks mode', and IE7/IE8 compatibility modes are available in later versions, but there has never been an IE6 compatibility mode.

There are a few options open to you:

Firstly, you could take an upgrade path that doesn't involve upgrading IE. If your next corporate browser is Firefox, Chrome, Safari or Opera, you can quite happily leave IE6 on the machine to be used as required.

Alternatively, you could install a VM running its own copy of Windows and IE6. With adequate configuration, it should be possible to make this pretty much transparent to the user; they would click an icon and get IE6, and not even necessarily need to know it's running in a VM. This would require the host machine to be reasonably powerful though, so it may not be an option if it means upgrading a lot of hardware.

You might be able to do something similar on a cheaper budget using a remote desktop; ie you would have one or more dedicated machines running IE6, which users could log into remotely. If most people only use your IE6 web app for a limited amount of time, you could get away with doing this with relatively low resources.

There is an application called IETester, which allows you to install virtually all versions of IE alongside each other, and run them in tabs within the same window. This might be worth trying out. However, if you're doing this for a live application, beware that IETester does have a tendency to crash relatively frequently. This isn't an issue for it's main purpose (testing that a site works in different versions of IE), but if you're trying to use it to do real work, it could get irritating very quickly.

Finally, you could bite the bullet and at least try to find out why the application in question only works in IE6. There are a number of possible reasons for this, and some of them are indeed unresolvable. However there are some reasons which may appear on first glance to only work in IE6, but might actually be possible to get working in later versions of IE.

For instance, IE6 has appalingly bad security, and a lot of old IE6-specific web apps exploited this. Newer browsers have disabled most of these security holes, but you can configure IE7/8/9 to re-activate some of them (on local intranet sites only, of course!) to allow older code to continue working. This particularly applies to sites which use ActiveX plugins. These can often be made to work in later versions of IE, despite claims to the contrary.

Not all apps can be fixed, but it might be worth your time to investigate fully exactly what it is about your app that stops it working in later IEs. If it can't be done then at least you'll know for sure, but if it is something simple, you'll be kicking yourself if you only find out later.


You could create a virtual machine with IE6, and only use it for that one app that needs IE6. There are many VM solutions, use the one that fits you best - e.g. VirtualBox, VMWare, QEMU, Microsoft Virtual PC.

Then, for the rest of the work, you can proudly march into the 21st century with a decent browser.


Although it really depends on what you mean by 'only works with ie6', there is a way to force IE to use a certain 'document compatibility' as Microsoft terms it.

Its done via a meta tag in the document that 'only works with ie6'.

Here is a URL from Microsoft that describes the process:

http://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx

The meta tag is X-UA-Compatible.

This will force IE to render the document in whatever IE version you set it to. So for IE6, you would have to add the following to the document bodies that only work with IE6:

<meta http-equiv="X-UA-Compatible" content="IE=5" >

The above method should force (for example) IE8 to render the frame in IE5 mode.

Best of luck.


Quick update: Turns out there is no IE=6, but IE=5. I would give that a shot.


Another option is to use IETester.

This will allow you to natively run IE6, IE7, IE8 and IE9 all within one Windows Operating System.

Its a bit mickey mouse, but if you can teach your staff to use this for this specific product, it should do the trick.

http://www.my-debugbar.com/wiki/IETester/HomePage

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号