This topic introduces the platform features of Windows Internet Explorer 8. Click here to download Internet Explorer 8 for Windows XP, Windows Vista with Service Pack 1 (SP1), Windows Server 2003, or Windows Server 2008. The currently released version of Windows 7 includes Internet Explorer 8.
This topic contains the following sections:
Internet Explorer now supports download of files whose size exceeds 4 gigabytes (GB). Users of Internet Explorer 8 can take advantage of this functionality by default. Third-party extensions need to implement IBindStatusCallbackEx and return BINDF2_READ_DATA_GREATER_THAN_4GB from their GetBindInfoEx callback method. Download progress is reported through OnProgress by using the BINDSTATUS_64BIT_PROGRESS flag. These callback methods are supported by IMoniker::BindToObject and IMoniker::BindToStorage.
Because the Internet has become increasingly interactive, Internet Explorer 8 makes it easier to interact with content on a Web page. Accelerators are a type of browser extensions that act on Web page content by sending the information to a service of the user's choosing. Services then perform actions on the content (such as "email" or "bookmark") or provide more information ("translate" or "map"). Users can install and access Accelerators from the browser shortcut menu, making their browsing experience more efficient.
For more information, see:
In response to the increase in UI complexity on the Web, the Web Accessibility Initiative group has defined a roadmap for Accessible Rich Internet Applications (ARIA), which introduces ways for Web site authors to define how custom UI elements are accessed. ARIA accomplishes this by defining a set of HTML attributes that map back to common UI controls. As a result, users with disabilities can access Web sites with a rich interaction model. By exposing ARIA through the Microsoft Active Accessibility API in Internet Explorer 8, assistive technologies that already use Microsoft Active Accessibility can also support ARIA easily.
object.setAttribute("aria-valuenow", newValue). For more information, see:
Internet Explorer 8 offers greater control over your Microsoft ActiveX installation and debugging.
Asynchronous JavaScript and XML (AJAX) is changing the way Web applications are built. Internet Explorer 8 brings new functionality to the XMLHttpRequest object that enables AJAX applications.
eval. For more information, see:
The following videos are also available:
For more information, see:
The following videos are also available:
For CSS test cases used by Internet Explorer, see Windows Internet Explorer Testing Center.
The built-in Developer Tools of Internet Explorer 8 expose the internal representation of Web pages to help research and resolve problems that involve HTML, CSS, and script. Some features might be familiar to users of the Developer Toolbar released as an add-on to previous versions of the browser,
For more information, see:
The following videos are also available:
With full CSS 2.1, strong HTML 5 support, and interoperability fixes for the Document Object Model (DOM), Internet Explorer 8 has made deliberate investments in a new layout engine. The highest level of standards support is on by default for sites that specify a strict !DOCTYPE. Web site authors can select the highest compatibility with Internet Explorer 7 by using the following meta tag:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
The Emulate IE7 button of Internet Explorer 8 Beta 1 was replaced by the Compatibility View button
next to the Address bar. Click the button to quickly change between browser compatibility modes; you do not need to restart the browser.
For more information, see:
For setting up compatibility mode on a server, see:
The following videos are also available:
The ability to store and retrieve large amounts of data directly to a user's hard disk is important to browser-based applications that want to extend their reach beyond client-server interactions. Local storage is also comes in handy when disconnected from the Internet, and synchronize local changes when an active Internet connection returns. Scriptable online and offline connectivity events fire when connection status changes.
For more information, see:
The new HTML 4.01 implementation is now much more interoperable. The improvements include:
For more information, see:
The following videos are also available:
JScript now offers a way to override existing object methods and create new methods that apply immediately to all instances of objects. This tight binding allows scripts to manipulate DOM objects natively, as if they were actually JScript objects. By providing native DOM prototypes for elements, circular references, such as those sometimes created between Internet Explorer Component Object Model (COM) infrastructure and the scripting engine, can be managed directly by the JScript engine to alleviate hard-to-detect memory leaks.
For more information, see:
In Windows Vista, Protected Mode restricts file writes to low-integrity locations, including cookies. In Internet Explorer 8, medium-integrity applications can access low-integrity cookies without user interaction, by using IEGetProtectedModeCookie and IESetProtectedModeCookie. As always, applications that use cookies downloaded from the Internet should assume that these cookies contain malicious data.
With Internet Explorer 8, you can control the browser after launching it from a medium-integrity process, even if it opens in Protected Mode. After invoking Navigate2, the NewProcess event will return a reference to the new WebBrowser object that has just opened.
For more information, see:
Internet Explorer 8 significantly improves the search experience of Internet Explorer 7 with the following features:
To learn how to integrate your search provider with Internet Explorer 8, see Search Provider Extensibility in Internet Explorer and (Video) How Do I: Search Suggestions Providers.
The following features help to protect your security and privacy when browsing the Web:
X-Frame-Options with HTML pages to restrict how the page may be framed.
X-Frame-Options: Deny
X-Frame-Options value contains the token Deny, Internet Explorer 8 prevents the page from rendering if it is contained within a frame. If the value contains the token SameOrigin, Internet Explorer will not render the page if the top level-browsing-context differs from the origin of the page containing the directive. Blocked pages are replaced with a "This content cannot be displayed in a frame" error page. X-XSS-Protection: 0
var enabled = window.external.InPrivateFilteringEnabled();
For more information, see:
The following videos are also available:
Use the power of CSS selectors to rapidly locate DOM elements. The API introduces two methods, querySelector and querySelectorAll, that take a selector (or group of selectors) and return the matching DOM elements. With these methods, it is easier to match a set of element nodes based on specific criteria. The Selectors API provides significantly faster performance over non-native implementations.
For more information, see:
Web Slices enable users to subscribe to specially marked content on a Web page. When the content changes, the user receives a notification on the Favorites bar where the content can be previewed without additional navigation.
For more information, see:
Internet Explorer 8 provides a higher-quality, more predictable and persistent zooming experience than does Internet Explorer 7. In addition to introducing more persistent zoom states, Internet Explorer 8 eliminates horizontal scroll bars for the majority of mainstream scenarios. New windows, dialogs, and pop-up windows automatically inherit the zoom level of their parent.
I have added
<httpProtocol>
<customHeaders>
<clear />
<add name="X-XSS-Protection" value="0" />
</customHeaders>
</httpProtocol>
However, IE 9 keeps throwing the error... what next?
Frankly, I just don't get it. We are 24 or so years into the Windows GUI and nearly 15 years into the Internet Explorer interface and Microsoft can't get something as simple as TAB (or Taskbar) colors right? The differences between the active and inactive IE8 tabs (and Windows 7 taskbar buttons) are so subtle that even those of us with perfect vision find the difference hard to distinguish. It is jaw dropping that such a blatantly poor (terrible?) UI design element choice can make it into release product, let alone TWO of them (IE8 and W7). Tens of thousands of man hours creating a GUI that is user friendly and you nitwits can't make the ACTIVE tab easy to differentiate. Good grief.
Esther Fan, MSFT: Thank you for your comments. For this kind of feedback or questions, please use the following forums:
IE Development: http://social.msdn.microsoft.com/Forums/en-US/category/iedevelopment
It's badly broken. Developers trying to develop ActiveX controls can no longer debug IE8 to get to their code running in process (In process servers) due to the new Loosly Coupled IE process model. At best one can go through a gyration to discover which process the activeX is instantiated in, attach the VS debugger to that process, override the VS default of 'script' so that you have a 'native' debugger, then hope & pray that your break-points get hit. About 1/3 of the time either the break-point doesn't stop, or both IE and the VS hang. (VS 2008 Sp1).
This is horrible. For years we've been able to just debug IE, and hit a break point. This will dramatically slow progress.
I've tried using the TabProcGrowth parameter and this does not help. Using a value of 0 pages won't load at all, using a value of 1 seems to make the process used by the tab somewhat more stable but IE & VS crash/hang more frequently. Using values > 1; forget about it.
Is there anything that a developer can do to get debugging functionality back in IE 8?
Esther Fan, MSFT: Thank you for your comments. For this kind of feedback or questions, please use the following forums:
IE Development: http://social.msdn.microsoft.com/Forums/en-US/category/iedevelopment
I think IE8 would be more user-friendly if it used different color codes for tabs.
For ex; when a tab finishes loading, it should turn into a different bright color indicating that the page is loaded in background and not viewed by the user yet, so when you open several tabs using the `open in new tab`, you won't have trouble seeing which ones you haven't viewed yet. Each tab should change into a darker color after you view it.
It's very hard to browse going back and forth to find the page you haven't viewed yet. I'm sure there are people out there who opens 20-30 tabs in a window and got lost.
A custom color option would be nice too.
Esther Fan, MSFT: Thank you for your comments. For this kind of feedback or questions, please use the following forums:
IE Development: http://social.msdn.microsoft.com/Forums/en-US/category/iedevelopment
Hi
I Need to test my site on both IE8 and IE7.Curretly i am planing to test my website by using IE8-developer tools-Swich between
'Browser Mode :IE7 ,Document Mode: IE7 Standards' to 'Browser Mode :IE8 ,Document Mode: IE8 Standards' .Is this reliable , if not I am going to use my old methods like using virtual machines (only one browser in one machine). Please advice me.
Thanks in advance
Regards,
Vivek
Esther Fan, MSFT: Thank you for your comments. For this kind of feedback or questions, please use the following forums:
IE Development: http://social.msdn.microsoft.com/Forums/en-US/category/iedevelopment
As a developer i am feeling that, IE needs to show some relevant errors, "object is null or not an object" does not make any scene. always shows incorrect line number and no file name. If IE developers works on it this will be very helpful for developers.
Now there 8th version releases i am 100% sure they didn't fix that, every time i have to open firefox to check the error this is very frustrating.
Esther Fan, MSFT: Thank you for your comments. For this kind of feedback or questions, please use the following forums:
IE Development: http://social.msdn.microsoft.com/Forums/en-US/category/iedevelopment
I'm running Windows 7 (64 bit) and IE 8 (64bit) and I can see that Rich HTML fields on WSS sites are displayed as HTML with <div> tags. You can still write text and update the fields and items, and I think the error is in IE, because the fields are displayed correctly in IE 8 (32bit).
how do you stop popup small windows, in internet 8
help newinternet8
[tfl - 28 09 09] Hi - and thanks for your post. You should post questions like this to the MSDN Forums at http://forums.microsoft.com/msdn or the MSDN Newsgroups at http://www.microsoft.com/communities/newsgroups/en-us/. You are much more likely get a quicker response using the forums than through the Community Content. For specific help about:
Visual Studio : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.vstudio%2C&
SQL Server : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.sqlserver%2C&
.NET Framework : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.dotnet.framework
PowerShell : http://groups.google.com/group/microsoft.public.windows.powershell/topics?pli=1
All Public : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public%2C&
At least I see I'm not alone. Why can't I tear off a tab? Why can't I drag a tag off of one instance of IE and drop it on another? (Ok, so the former would be really hard to code, but the latter?)
[tfl - 28 09 09] Hi - and thanks for your post. You should post questions like this to the MSDN Forums at http://forums.microsoft.com/msdn or the MSDN Newsgroups at http://www.microsoft.com/communities/newsgroups/en-us/. You are much more likely get a quicker response using the forums than through the Community Content. For specific help about:
Visual Studio : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.vstudio%2C&
SQL Server : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.sqlserver%2C&
.NET Framework : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.dotnet.framework
PowerShell : http://groups.google.com/group/microsoft.public.windows.powershell/topics?pli=1
All Public : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public%2C&
Java links don't seem to work at all for me in IE8 (error on page is shown in the lower left corner of the screen).
Other links often will not open a new tab or a new window. I seem to have to open a new IE8 window and then copy the shortcut and paste to get the link to work.
I have turned the tabs off since they seem to cause most problems.
IE8 often abends and closes the window.
To get access to the web I now start IE8 without add-ins and use the "manually open the new window cut and paste the shortcut method" described above...
Any suggestions???
[tfl - 01 08 09] Hi - and thanks for your post. You should post questions like this to the MSDN Forums at http://forums.microsoft.com/msdn or the MSDN Newsgroups at http://www.microsoft.com/communities/newsgroups/en-us/. You are much more likely get a quicker response using the forums than through the Community Content. For specific help about:
Visual Studio : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.vstudio%2C&
SQL Server : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.sqlserver%2C&
.NET Framework : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public.dotnet.framework
PowerShell : http://groups.google.com/group/microsoft.public.windows.powershell/topics?pli=1
All Public : http://groups.google.com/groups/dir?sel=usenet%3Dmicrosoft.public%2C&
Version releases but old bugs are still there, here is an example of common bug in each version of IE.
if your HTML contain the html element with the attribute name="length"
<input type="text" name="length" />
now write a simple loop it will never work because "document.all.length" will returns you input element instead of length of collection.
for(i=0;i<document.all.length;i++){
alert(document.all[i].nodeName);
}
[[ jsudds.MSFT ]] Please avoid using the document.all collection. It is not cross-browser compatible, nor is it especially good for your application's performance. And, as you have pointed it, it can lead to esoteric bugs in script for the unwary.