Some old internal business apps really do need a full Internet Explorer fallback. Others do not. They only depend on older JavaScript and DOM assumptions that were common in the IE/WebForms era.
That distinction matters, because the two cases lead to very different migration plans.
Case 1: true IE-only dependencies
If the page depends on any of these, a normal Chrome extension is not the right answer:
- ActiveX controls
- VBScript
- COM controls
- Java applets or old plugin runtimes
- Trident rendering behavior
- IE7 or IE8 document modes
- A vendor requirement for Internet Explorer or Edge IE mode
These are runtime or browser-engine dependencies. They usually need Windows Edge IE mode, a Windows VM, remote desktop, a remote browser service, or real application modernization.
Case 2: old JS/DOM assumptions
Some pages are different. They open in Chrome, but specific workflows fail: a button does nothing, a picker dialog never returns a value, a frameset startup page stalls, or a WebForms date field breaks.
Common patterns include:
-
attachEventinstead ofaddEventListener window.eventevent.srcElement-
returnValueorcancelBubble - frameset startup pages
-
Loading.htm?url=...redirect pages -
window.showModalDialogpicker flows - selected
document.framesaliases - old WebForms date-control behavior
Those cases are worth testing separately before calling the whole app an IE-only app.
A practical triage flow
Here is the quick flow I use:
- Check whether the workflow requires ActiveX, VBScript, COM, applets, Trident, or an IE document mode.
- If yes, keep IE mode, a Windows VM, remote desktop, or a vendor migration path in the plan.
- If not, open the page in current Chrome and inspect whether the failing behavior is script/DOM related.
- Separate rendering problems from interaction problems.
- Test a scoped compatibility patch on one hostname.
- If that works, decide whether the right next step is a temporary bridge, a code fix, or a full rewrite.
I wrote a short checklist for this split:
Why this is useful
Treating every old internal app as "must use IE" can slow down migration:
- macOS users cannot participate in validation.
- every bug looks like a browser-engine problem.
- lightweight JavaScript compatibility issues get bundled with real IE dependencies.
- the migration plan becomes more expensive before the team knows what is actually broken.
The opposite mistake is also expensive: trying to patch around ActiveX, VBScript, or real Trident behavior with ordinary front-end compatibility code.
The useful move is to classify the blocker first.
A small tool I built
I built IE Compat Bridge for the second category: pages that do not need real IE mode, but still depend on IE-era JavaScript and DOM behavior.
It is a Chrome extension that only runs on user-configured domains. It applies scoped compatibility patches for patterns such as attachEvent, window.event, event.srcElement, frameset startup pages, showModalDialog-style picker flows, selected document.frames aliases, and old WebForms date-control behavior.
Boundary: it is not an IE emulator. It does not support ActiveX, VBScript, COM controls, Java applets, Trident rendering, IE7 mode, IE8 mode, or real IE document modes.
Product page:
If you maintain old WebForms or intranet apps, I would be interested in the split you usually see: are the remaining blockers mostly true IE-only dependencies, or lighter JS/DOM compatibility issues?
Disclosure: this draft was prepared with AI assistance and reviewed before posting.
Top comments (0)