How Scriptlets Work Under the Hood

Whenever IE 4 shows an HTML page, it creates a container window that covers the entire client area. The window class name is Shell DocObject View. It has a child window called Internet Explorer_Server which is identical in size. This window represents the surface where MSHTML (the IE4 module providing the Dynamic HTML functionality) draws its output. In short, Internet Explorer_Server windows are the real HTML view objects. The illustration below shows the pile of IE 4 windows that are created when it displays a standard HTML file:

Now, look at what happens when IE4 is hosting a Scriptlet:

Behind the scenes, IE 4 uses another instance of its Internet Explorer_Server view object for handling Scriptlets. This allows the Scriptlets to inherit the Dynamic HTML object model and scrolling capabilities. Conceptually, running a Scriptlet is just like running a nested copy of IE 4 itself.