Ever since I upgraded my browser to IE7, I noticed that a few websites no longer worked properly. After some research, it seemed that this was caused by IE7 not interpreting the <META HTTP-EQUIV="Refresh" …/> flag correctly.

To prove my point, try accessing the following two websites with IE7, http://www.zipzoomfly.com (a computer hardware online store) and http://www.vanguard.com (an investment firm). Instead of displaying their homepages, you will get nothing back (white screens, no errors).

An analysis of the responses from both urls revealed that both sites use the <meta http-equiv=”refresh”…/> tag, as shown below:

zipzoomfly.com

<html>

<head>

<meta http-equiv="REFRESH" content="0.1; url=http://www.ZipZoomFly.com/jsp/Home.jsp">

<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />

<title>ZipZoomFly</title>

</head>

<body>

</body>

</html>

vanguard.com

<html>

<head>

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=/VGApp/hnw/CorporatePortal">

</head>

</html>

It appears that the javascript redirect works fine with IE7 given that you have a javascript enabled browser (most users have this setting). Apple’s store used both techniques and its website works under IE7. Here is the http response from http://store.apple.com:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<HTML>

<HEAD>

<TITLE></TITLE>

<META HTTP-EQUIV=REFRESH CONTENT="1; URL=http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore.woa">

<SCRIPT LANGUAGE="JavaScript">

<!–

function time() {

setTimeout("window.location.replace(‘http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore.woa’)",10)

}

–>

</SCRIPT>

</HEAD>

<BODY onLoad="time()">

</BODY>

</HTML>

So, as a best approach, use both techniques if you have to automatically redirect the user to some other pages upon requesting the default page.

 

Update: It seems that IE7 does support Meta Refresh tag, but the setting is buried. See my latest post for more information.

Be Sociable, Share!