Search the site's code for scripts that check the browser's name, such as tests for MSIE, and replace them with checks for the features the page needs. Then test in Internet Explorer 11, Edge, Chrome, Firefox and Safari.

An upgrade warning on a current browser

An office manager opens a supplier's website, and a yellow bar across the top says her browser is out of date: please upgrade to Internet Explorer 8 or later.

She is using Internet Explorer 11, the newest version for her Windows 7 computer. The page underneath looks wrong as well, with the menu out of place and a calendar that will not open.

Nothing is wrong with her browser. A script written years ago has read the name her browser reports, failed to recognise it, and guessed.

Plenty of older sites still carry scripts like this, and more of their visitors meet the wrong guess every month.

How the guessing works

Every browser sends a line of text with each request, called the user agent string, naming itself, its version and the operating system.

For years many sites read that line to decide what to send: one set of fixes for Internet Explorer, another for Firefox, a separate site for phones. A wrong guess shows up in a handful of ways.

The third does the quietest damage. A calendar, a map or an order form simply never appears, and the visitor assumes the business has a broken site rather than an old script.

Why Internet Explorer 11 is misread

For years Internet Explorer identified itself with the letters MSIE and a version number, and scripts looked for exactly that.

Version 11, released in 2013, dropped MSIE from its user agent string on purpose, describing itself in terms that resemble other modern browsers. Microsoft wanted sites to send it standard code, not old workarounds.

A script searching for MSIE therefore decides that Internet Explorer 11 is not Internet Explorer at all. Some treat it as unknown and show the warning; others take it for Firefox and send the wrong styles.

Older tricks fail too. Conditional comments, a way of sending code only to Internet Explorer, are ignored by versions 10 and 11. And a script that checks the browser's application name finds that Internet Explorer 11 now reports Netscape.

Edge looks like Chrome

Microsoft Edge, the browser in Windows 10 since July, goes further. Its user agent string names Chrome and Safari as well as Edge, so that sites written for those browsers work in it.

A script reading that line usually takes Edge for Chrome. That is mostly harmless, unless the page relies on code only Internet Explorer ever ran, which Edge does not support at all.

A deadline in January

From January 12, Microsoft will keep supporting only one Internet Explorer per Windows release, the latest that runs on it. On Windows 7, that is Internet Explorer 11.

Offices that kept version 8, 9 or 10 for an old internal system now have good reason to move to 11, and their staff will start meeting the wrong guesses on supplier and customer sites.

For a business that sells to other businesses, those office computers are where the orders come from.

Finding the old detection code

Whoever maintains the site can search its files for the usual signs: MSIE, userAgent, appName, browser detection libraries, and conditional comments in the page templates.

Scripts are often bundled into one large file, or loaded by a plugin or an outside widget, so the search should cover those as well as the site's own code.

Then open the site in Internet Explorer 11 and in Edge and look for the symptoms: banners, missing calendars and maps, forms that never appear, layouts that differ from Chrome's.

A worked example

A cupola and weathervane maker builds wooden cupolas for barns, garages and houses in a rural workshop, and makes copper weathervanes to order.

Its website, built in 2008, has an order page where customers choose a cupola's size, roof pitch and roofing, then a weathervane, and watch a drawing and a price update as they go.

Much of the work comes through architects and builders, ordering from office computers. This autumn two architects' offices phoned to say the order page told them to upgrade their browser and showed no drawing.

The developer found two old scripts. One checked for MSIE to decide how to draw the picture; the other showed the warning to any browser it did not recognise. Internet Explorer 11 failed both.

Both now test whether the browser can draw the picture instead of asking its name. The banner was removed, and the order page was tested in Internet Explorer 11, Edge, Chrome, Firefox and Safari on an iPhone.

Test features, not names

The modern approach is called feature detection. Instead of asking which browser this is, the script checks whether the one thing it needs actually works, such as drawing on the page, and falls back gracefully if not.

A feature check keeps working as browsers change their names and versions. A name check goes out of date the day a new browser arrives.

Phones follow the same reasoning. A layout that adapts to the screen's width serves every phone, including models that did not exist when the site was built; a list of phone names never can.

The counter-case

Some detection is legitimate. Analytics records which browsers visitors use, and a few scripts still need to work around a known bug in one particular version.

Those exceptions should be narrow, recent and documented, and they should never block a visitor or tell them to upgrade a current browser.

Everywhere else, remove the guessing: find the old detection code and replace it with checks for the features each page actually needs.

Before January 12

  1. Open the site in Internet Explorer 11 and Edge.
  2. Note any banners or missing features.
  3. Search the code for MSIE and userAgent.
  4. Check plugins and widgets for their own detection.
  5. Replace name checks with feature checks.
  6. Remove upgrade banners aimed at current browsers.
  7. Retest in every major browser and on phones.

Step one takes ten minutes and settles whether there is a problem at all. Most owners never open their own site in Internet Explorer, so the people who see the warning are customers.

What else changes when office computers move to Windows 10 is covered in the free Windows 10 upgrade on office computers.


Frequently asked questions

Why does my site tell IE11 users to upgrade?

An old script looks for the letters MSIE in the browser's name. Internet Explorer 11 dropped them, so the script decides it is an unknown or outdated browser.

What is a user agent string?

A line of text every browser sends with each request, naming itself, its version and the operating system. Older sites read it to decide what to send.

How does Edge identify itself?

Its user agent string names Chrome and Safari as well as Edge, so old scripts usually take it for Chrome. Code written only for Internet Explorer never reaches it.

Why does January 12 matter?

After that date only Internet Explorer 11 gets security updates on Windows 7, so offices still on older versions will move to it, and meet the scripts that misread it.

What is feature detection?

Checking whether the browser can do the specific thing a page needs, such as drawing a picture, instead of asking its name. It keeps working as browsers change.

How do I find old detection code?

Search the site's files, plugins and widgets for MSIE, userAgent, appName and conditional comments, then open every key page in Internet Explorer 11 and Edge to spot symptoms.

West Coast Media Solutions Inc. provides web design, web development, hosting, digital marketing, and business consulting to organisations across Canada, drawing on more than twenty-five years in the field.

Upgrade warnings on a current browser?

Send us your site's address. We will test it in Internet Explorer 11 and Edge and find the scripts doing the guessing.

Start a Conversation