Native XMLHTTPRequest object

Hello, I’m Sunava Dutta and I am a Program Manager in the Internet Explorer team.

I’m excited to mention that IE7 will support a scriptable native version of XMLHTTP. This can be instantiated using the same syntax across different browsers and decouples AJAX functionality from an ActiveX enabled environment.

What is XMLHTTP?

XMLHTTP was first introduced to the world as an ActiveX control in Internet Explorer 5.0. Over time, this object has been implemented by other browsing platforms, and is the cornerstone of “AJAX” web applications. The object allows web pages to send and receive XML (or other data) via the HTTP protocol. XMLHTTP makes it possible to create responsive web applications that do not require redownloading the entire page to display new data. Popular examples of AJAX applications include the Beta version of Windows Live Local, Microsoft Outlook Web Access, and Google’s GMail.

Charting the changes: XMLHTTP in IE7 vs. IE6

In IE6 and below, XMLHTTP is implemented as an ActiveX object provided by MSXML.

In IE7, XMLHTTP is now also exposed as a native script object. Users and organizations that choose to disable ActiveX controls can still use XMLHTTP based web applications. (Note that an organization may use Group Policy or IE Options to disable the new native XMLHTTP object if desired.) As part of our continuing security improvements we now allow clients to configure and customize a security policy of their choice and simultaneously retain functionality across key AJAX scenarios.

IE7’s implementation of the XMLHTTP object is consistent with that of other browsers, simplifying the task of cross-browser compatibility.  Using just a bit of script, it’s easy to build a function which works with any browser that supports XMLHTTP:

if (window.XMLHttpRequest){

          // If IE7, Mozilla, Safari, etc: Use native object
var xmlHttp = new XMLHttpRequest()

}
else
{
if (window.ActiveXObject){

          // ...otherwise, use the ActiveX control for IE5.x and IE6
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}

}

Note that IE7 will still support the legacy ActiveX implementation of XMLHTTP alongside the new native object, so pages currently using the ActiveX control will not require rewrites.

I look forward to hearing any feedback and suggestions.

- Sunava

Comments

  • Anonymous
    January 01, 2003
    this made my day :)

  • Anonymous
    January 01, 2003
    Great news and very forward-looking.

  • Anonymous
    January 01, 2003
    IE7 sounds like it is shaping up quite nicely. Thanks!

    So... when's that public beta? ;-)

  • Anonymous
    January 01, 2003
    This is great news! I have been unable to utilize AJAX in my projects at work because of the strict computing environment we develop for (no ActiveX allowed).

  • Anonymous
    January 01, 2003
    Sweet. I guess most XMLHTTPREQUEST code already looks like your example anyhoo, so everyone's good to go. Good show :)

  • Anonymous
    January 01, 2003
    Sounds good! Will the native object allow you to .setRequestHeader for cookies? The current ActiveX object has a documented bug that requires you to set the header twice.

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;q234486

    Also, will this new native object be cognizant of the the "Access data sources across domains" security option (URLACTION_CROSS_DOMAIN_DATA)? In particular, I'd like to use it in intranet situations where it shouldn't complain about cross domain data.

  • Anonymous
    January 01, 2003
    This looks promising :)

  • Anonymous
    January 01, 2003
    The sample looks like it has scoping issues. Shouldn't it be...

    var xmlHttp = null;

    if (window.XMLHttpRequest){

    // If IE7, Mozilla, Safari, etc: Use native object
    xmlHttp = new XMLHttpRequest(); // no var

    }
    else if (window.ActiveXObject){

    // ...otherwise, use the ActiveX control for IE5.x and IE6
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); // no var

    } else {
    // no XMLHTTP... leave as null
    }

  • Anonymous
    January 01, 2003
    Will it support progress reporting like the firefox implementation?

  • Anonymous
    January 01, 2003
    Maurits, there are only two scopes in JS: global and function :]

  • Anonymous
    January 01, 2003
    Is there any performance difference between the two in IE 7?

  • Anonymous
    January 01, 2003
    A question that is related to this topic: in most browsers, the XMLHTTPRequest object (or MSXML.XMLHTTP for IE, any version) will only populate the responseXML property if the returned document was text/xml. I was attempting to use AJAX to call some web services, and ran into the problem that SOAP 1.2 uses the application/soap+xml mime-type, which means the responseXML property is not populated (the only browser I know of that will populate the responseXML property anyway in this case in Firefox 1.5 (not older versions)). There are ways around this (create a DOMDocument in IE, override the returned content type in Firefox, Opera I don't know actually) but the hassle was too big and in the end I just resigned to using SOAP 1.1 exclusively.

    Will we see support for alternative XML mime-types other than text/xml in IE7's XMLHTTPRequest document?

  • Anonymous
    January 01, 2003
    Maurits: Yup, this code sample isn't complete-- for instance, it doesn't actually send a request. :-) But moving the var out to a global scope probably would be a better design. You'd also want to also want to check the result of the new ActiveXObject call.

    There's also a good primer on XMLHttp here: http://www-128.ibm.com/developerworks/web/library/wa-ajaxintro2/?ca=dgr-lnxw07AJAX-Request

  • Anonymous
    January 01, 2003
    Great article, I want more.

  • Anonymous
    January 01, 2003
    I've been messing with the leaked IE7 beta 2 and I can say that I'm very happy with the native XMLHTTPRequest implementation. The requests feel faster ( memory use must be far less ) and it works as advertised.

  • Anonymous
    January 01, 2003
    GREAT!

  • Anonymous
    January 01, 2003
    I know lots of people were complaining about IE7 being XP and Vista only, and I'm not here to do that. But I do have a question about that. What exactly is XP specific about the XP version that will prevent it from being usable on older versions of Windows? Will that same element(s) prevent IE7 from running on Linux under WINE or not? Because I can test almost all current browser rendering engines from Linux and I wanted to know if I would be able to test IE7's. If you want me to do web design on Windows, please port khtml and webcore to Windows. ;-)

  • Anonymous
    January 01, 2003
    BTW, I forgot to mention that this is very good news. ^__^

  • Anonymous
    January 01, 2003
    Great post...

    One thing I'd like to see for web designers and developers is an engine switcher for IE for various versions of the HTML rendering engine.

  • Anonymous
    January 01, 2003
    Could someone with IE7 test this bug?

    http://www.quirksmode.org/bugreports/archives/2006/01/IE_wont_allow_documentcreateElementstyle.html

    If the testpage as a yellow background then it's working. If you get a js error, and a red background then it is not :)

    Cheers

  • Anonymous
    January 01, 2003
    <<What exactly is XP specific about the XP version that will prevent it from being usable on older versions of Windows?>>

    Windows XP introduced a significant number of new APIs over Windows 2000, and it would have been a significant effort to offer the same functionality on Win2k. Much more importantly, the Windows 2000 lifecycle (see microsoft.com/lifecycle) meant that it would be of limited value to build IE7 for that platform, since average users would not have a support agreement that let them install it.

    @rossh: The page you linked to doesn't have a "Test" link on it in IE7 because the page uses illegal HTML and fails to escape the < and > tags into &lt; and &gt;. Viewing the source, I found the repro link and I can confirm that IE7 still renders the page without a yellow background (but it's not red either). I'm not an expert on the DOM, but it seems like there are probably better ways to achieve the intended effect.

  • Anonymous
    January 01, 2003
    <<What exactly is XP specific about the XP version that will prevent it from being usable on older versions of Windows?>>

    Windows XP introduced a significant number of new APIs over Windows 2000, and it would have been a significant effort to offer the same functionality on Win2k. Much more importantly, the Windows 2000 lifecycle (see microsoft.com/lifecycle) meant that it would be of limited value to build IE7 for that platform, since average users would not have a support agreement that let them install it.

    @rossh: The page you linked to doesn't have a "Test" link on it in IE7 because the page uses illegal HTML and fails to escape the < and > tags into &lt; and &gt;. Viewing the source, I found the repro link and I can confirm that IE7 still renders the page without a yellow background (but it's not red either). I'm not an expert on the DOM, but it seems like there are probably better ways to achieve the intended effect.

  • Anonymous
    January 01, 2003
    Hasn't this been said already?

    I'm interested if IE7 impelements the standard way an XML DOM is created.

  • Anonymous
    January 01, 2003
    Great news, in fact this really makes me sit up and take a hard look at IE7. What other jewels has the IE team been hiding?

  • Anonymous
    January 01, 2003
    Can you have an option so that any page trying to use the activex version will always get the native if they are interchangeable. This option would not be enabled by default (otherwise old "ajax" pages might not update their code). I like the idea to keep using legacy pages but keep the activex turned off.

  • Anonymous
    January 01, 2003
    @EricLaw [MSFT]: Yup, that bug report page does have an error, unfortunately I can't edit it ;).

    More importantly is the bug in the test page. It appears IE7 still has this rather glaring issue. Is there an appropriate avenue or person that I can direct a bug report to?

    Whether or not this is the "best" way to achieve the desired effect is a bit of an evasive question really ;) It's a bug test page, testing a pretty straightforward DOM function.

  • Anonymous
    January 01, 2003
    Nice! One more thing which is common in IE, Mozilla, Opera and others ... :)

  • Anonymous
    January 01, 2003
    Very good! Thanks!

  • Anonymous
    January 01, 2003
    Offtopic, but just found out that the developer toolbar in IE6 (XP SP2) has a glitch: resize to 800600 gives a different width to if you /actually/ change your resolution to 800600 and maximise the window.

  • Anonymous
    January 01, 2003
    @rossh: your code uses "createTextNode", passing as the argument a DOMString containing comment tags. Should you not be using "createComment"? I don't know whether that works or not, but currently your code is testing whether "createTextNode" will realise that the DOMString argument it receives should be parsed into a commentNode, which isn't what you set out to test.

  • Anonymous
    January 01, 2003
    > > What exactly is XP specific about the XP version that will prevent it from being usable on older versions of Windows?

    > EricLaw [MSFT]: Windows XP introduced a significant number of new APIs over Windows 2000, and it would have been a significant effort to offer the same functionality on Win2k.

    Would these APIs be being much used for the rendering rather than the security side though, or is the refactoring too widespread across the entire engine?

    I can't imagine that there are many Windows APIs that are being used for the sort of CSS rendering issues mentioned at:
    http://blogs.msdn.com/ie/archive/2005/07/29/445242.aspx

    Issuing an update of Trident/mshtml.dll for IE6 to fix up the rendering part would at least take a large amount of pain out of web developers' lives, because the fact is that Win2K (and thus IE6) is going to be out there for the next five years.

    Eric, Is this truly not possible?

  • Anonymous
    January 01, 2003
    Great (but expected) news!

    One question: When a public beta is released, will I be able to install IE7 Beta alongside IE6? If not, is there an easy way to uninstall IE7 to fallback to IE6?

    Thanks,
    Jeff

  • Anonymous
    January 01, 2003
    Generally, my AJAX applications do the following:
    1. Build XML document containing details of request.
    2. Send XML document to server
    3. Retrieve XML from server and unload into an XML document
    4. Transform XML document to HTML
    5. Insert HTML fragment into DHTML DOM

    I think it's great that the XMLHTTPRequest object is now native. However, I see a couple of other objects that aren't yet native that would be required in order to perform the basic steps outlined above, in particular:

    var xmlDoc = new XmlDocument(); //Msxml2.DOMDocument.5.0
    and
    var oXsltProc = new XsltProcessor(); //Msxml2.XSLTemplate.5.0

    Are these remaining pieces also scheduled to become native?

    Thanks!

  • Anonymous
    January 01, 2003
    Anyone else find it real funny, that the original post, added a link to Windows Live Beta, but not to Gmail?
    (http://www.gmail.com/)

    It's the little (cough/) oversights like this, that make you need a $120 Million dollar "makeover" marketing campaign.
    (http://seattlepi.nwsource.com/business/256523_msftads21.html)


    That said, glad to see the native support for this (btw, this is OLD news!, yikes!)

    @Jeff Schiller: I too want to know this, because there is no way I'm upgrading, if I can't downgrade.

    @Jeff Lewis: Ditto, will the progress reporting be fixed? this is really anoying in IE6.






  • Anonymous
    January 01, 2003
    anime4christ: "Because I can test almost all current browser rendering engines from Linux and I wanted to know if I would be able to test IE7's. If you want me to do web design on Windows, please port khtml and webcore to Windows."

    I dont think microsoft can prevent the use of IE on wine because of antitrust lawsuits. But the question will wine be able to run it, because Wine cannot fully emulate WinXP. We'll se when the public beta comes out. There is a KHTML-win32 project (http://khtml-win32.sourceforge.net/), but that seems to be abandoned.

  • Anonymous
    January 01, 2003
    @Jeff Schiller and the others:
    Make IE6 standalone and then upgrade to IE7 when you'll get it.

    you just need to copy this files to a folder of your choice (almost all of them are in the system32 folder)

    browseui.dll
    dispex.dll
    iexplore.exe
    inetcpl.cpl
    jscript.dll
    mshtml.dll
    mshtml.tlb
    shdocvw.dll
    urlmon.dll
    vbscript.dll
    xpsp2res.dll

    and do not forget to create a empty file inside that folder called:

    iexplore.exe.local

    I wonder why MS is so reluctant to let you do this with a simple checkbox during the install!

    I've been running IE5.0, IE5.5 and IE6.0 standalone for some time now. That's the simplest way to test your webpages on all of them.

  • Anonymous
    January 01, 2003
    I know there are backwards compatibility issues, but is there any chance
    of setting "this" properly in the onreadystatechange method of the
    XMLHttpRequest object?

    if (window.XMLHttpRequest != null)
    x = new XMLHttpRequest;
    else
    x = new ActiveXObject('MSXML2.XMLHTTP');
    x.open('GET','/index.html');
    x.onreadystatechange = function() {
    alert(x.readyState+': x===this ? ' + (x===this) + 'rn' +
    'x===window ? ' + (x===window) + 'rn' +
    'this===window ? ' + (this===window) + 'rn' + this.readyState);
    }
    x.send('');

    There is no reason (to me) that "this.readyState" should be undefined
    there, except that it has historically been broken that way.

  • Anonymous
    January 01, 2003
    how about:


    var xmlHttp = (window.XMLHttpRequest) ?
    new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");


    I love one liners.

  • Anonymous
    January 01, 2003
    Sunava

    Is the new XMLHTTPRequest actually a new implementation, or is it just a wrapper around the ActiveX object?

  • Anonymous
    January 01, 2003
    NocturnDragon,

    If you do that, you put your system in an unsupported state. If you read back on the blog, you will see that when the last security patch came out, some people reported a problem here with it. It turned out, in the end, that they had installed IE6 and IE7 in a side by side scenario and put their system into a state that created problems for them. It is not recommended.

    - Al Billings [MSFT]

  • Anonymous
    January 01, 2003
    Can you patch IE6 then? And while your at it, not do any more non-standardized implementations?

  • Anonymous
    January 01, 2003
    It is a real shame that you do not support DOMParser, XMLSerializer and XSLTProcessor (or DOM3 XPath). Without these web applications will continue to depend on ActiveX objects.

  • Anonymous
    January 01, 2003
    I usually don't like you guys. Today, I like you. Though I do not use XMLHTTPREQUEST too often in my work, this shows you are truely interested in making the web a more compatible place for developers, whether it's in HTML, CSS, or JS. Keep it up.

  • Anonymous
    January 01, 2003
    And what about the DOM event registration model ?

  • Anonymous
    January 01, 2003
    From what I remember, the XMLHttpRequest object in IE didn't support the onload and onerror events, but rather used the onreadystatechange.

    Is the native XMLHttpRequest implementation going to support these?

    What other APIs will be supported? What specification will it be following?

  • Anonymous
    January 01, 2003
    @Micah: "But the question will wine be able to run it, because Wine cannot fully emulate WinXP. We'll se when the public beta comes out. There is a KHTML-win32 project (http://khtml-win32.sourceforge.net/), but that seems to be abandoned."

    That's exactly what I want to know from MS, will IE 7 have some sort of XP sniffing that will prevent it from running on WINE? The problem with the KHTML-win32 is I can't use it right now, so I have to use it on Linux. That's one of the reasons I gave Linux a go, cuz I needed to test my sites in Konqueror, but now I'm hooked. Me likes the penguin. =D

  • Anonymous
    January 01, 2003
    "That's one of the reasons I gave Linux a go, cuz I needed to test my sites in Konqueror, but now I'm hooked. Me likes the penguin. =D"
    I am with you there. I have no problem with Windows, I just prefer to be able to play with my system. I am still relatively new to it, I have been using GNU/Linux for a couple years now. I can honestly say I have no intentions of using Windows on any of my systems.

    With that said, I am a web developer. Cross-browser compatability is a huge factor in web design. I'd like to be able to run it under WINE :-)

  • Anonymous
    January 01, 2003
    "# re: Native XMLHTTPRequest object
    Tuesday, January 24, 2006 10:05 AM by Andrew Eberhard
    Generally, my AJAX applications do the following:
    1. Build XML document containing details of request.
    2. Send XML document to server
    3. Retrieve XML from server and unload into an XML document
    4. Transform XML document to HTML
    5. Insert HTML fragment into DHTML DOM

    I think it's great that the XMLHTTPRequest object is now native. However, I see a couple of other objects that aren't yet native that would be required in order to perform the basic steps outlined above, in particular:

    var xmlDoc = new XmlDocument(); //Msxml2.DOMDocument.5.0
    and
    var oXsltProc = new XsltProcessor(); //Msxml2.XSLTemplate.5.0

    Are these remaining pieces also scheduled to become native?

    Thanks! "

    Andrew,
    Thanks for the feedback, great recommendation, we realize we need to incorporate other objects into our native JS apis and will continue to work on this.

  • Anonymous
    January 01, 2003
    Jeff Schiller asks:
    "One question: When a public beta is released, will I be able to install IE7 Beta alongside IE6? If not, is there an easy way to uninstall IE7 to fallback to IE6?"

    We do not support side by side installs. You will be able to uninstall IE7 from XP if you install it by using Add/Remove Programs.

    - Al Billings [MSFT]

  • Anonymous
    January 01, 2003
    <<Eric, Is this truly not possible? >>

    @Thomas-- Anything is possible, of course, but as I noted, there are both API and lifecycle limitations which prevented us from doing an IE7 for Windows 2000. As a consequence of not shipping on that additional platform, we had more time to do fixes, features, and testing on the platforms we are shipping on.

    <<Anyone else find it real funny, that the original post, added a link to Windows Live Beta, but not to Gmail?>>

    @Uslov-- This wasn't really an oversight. GMail doesn't currently appear to offer web-based signups, so it didn't seem as worthwhile to link to them. If you're interested in trading Google your cell phone number in order to get a signup code, see https://www.google.com/accounts/SmsMailSignup1

    @NocturnDragon-- As noted above, we don't support side-by-side. There are technical problems inherent in the setup you've described; specifically the configuration you're talking about uses objects from both IE6 and IE7, due to how COM works. You can use Process Explorer from http://www.sysinternals.com to verify that some COM objects are loaded from the system folders even when you're running with a .local.

  • Anonymous
    January 01, 2003
    I'm very impressed with how IE7 is coming along. I hate to say it, but I think I might have to ditch Firefox for IE7 when it comes out. I've played with it on a Vista beta machine we got setup and I like it a lot! Keep up the good work, if you guys can get up to par with web standards (which it seems you're doing a great job of doing), you will have earned my respect again. I can't wait for IE7 to go final!

  • Anonymous
    January 01, 2003
    @Adam Plocher:
    I bet Opera will still be the fastest and most reliable browser as it is now. Unless IE 7 is more secure than, more reliable than, and outperforms Opera, there isn't a very big chance I will switch to it. However, I'll give it a run and see as to whether it offers something extraordinary.

  • Anonymous
    January 01, 2003
    Yeah, that's really nice and most definitely a step into the right direction but... it's no use to us web developers right now. We still have to check for the ActiveX object as well because not everybody is going to switch to IE7 just like that.
    One good idea (or in fact some good ideas) in IE7 won't make up for stupid implementations in the past...
    charon

  • Anonymous
    January 01, 2003
    When congrats are in order...

    Congratulations!!!

    Now if only "HTMLElement"s where native JS Objects, you'd make me a really happy JS-programmer.

  • Anonymous
    January 01, 2003
    <blockquote>
    NocturnDragon,
    If you do that, you put your system in an unsupported state. If you read back on the blog, you will see that when the last security patch came out, some people reported a problem here with it. It turned out, in the end, that they had installed IE6 and IE7 in a side by side scenario and put their system into a state that created problems for them. It is not recommended.
    </blockquote>

    That's true, so far I only found a problem with conditional comments, but some other problems could arise. (do you have a link of that discussion?)
    I just think MS should give us some easy way to do it in a standard way.
    And I don't see having a computer for every version of IE, or buying virtual PC or re-booting from a system to the other as a solution.
    Afterall it's not really our fault if when creating a website following the standars we need to check it on IE6.0 and 5.5 after every little step, to avoid messing it up too much so that we cannot get what is wrong where!

    It's already annoying enough, creating a page in 30 minutes, and then spending 3 hours trying to understand what particular IE6.0 bug is messing up that design!

    With Opera, Safari (OR Khtml) we need to check the design once in a while to see if it's allright (and it usually is), so it might be possible to dual boot.

    Do you think we'll have a standard way to do it?

  • Anonymous
    January 01, 2003
    I've been watching this blog with anticipation.. it's great to see the improvements you've been making to Internet Explorer. Though I probably won't switch from Firefox when IE7 is released (I love the customization and extensions that Firefox provides), it will be great to not rip my hair out when I'm developing pages to get them to work in IE anymore :)

  • Anonymous
    January 01, 2003
    Sven Groot mentioned it before. What's about Web Services. Can we hope for a SOAPCall object like available for the geckos? I do not like the behaviours (and so the webservices.htc). XMLHTTPRequest is nice, but the communication not standardizied. You have to write your xml, download it, parse it and so on. Define a function and call it (over a network or not) is much easier than parse a document.
    It would be a nice function to see in IE7 without a lot of hassle implemeting it (as there are no dependencies). And please keep up to the mozilla's interpretation of it. Talk with them.

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    Maurits: If statments cause no scoping issues. Functions would, but this isn't in a function, and if it was...I would assume the function would RETURN xmlHttp rather than simply modify a global var. In this way, this same function could be used to create multiple objects, AND could easily be implemented into existing code. Something like this:
    function getXHR(){
    if (window.XMLHttpRequest) {
    // If IE7, Mozilla, Safari, etc: Use native object
    var xmlHttp = new XMLHttpRequest()
    } else if (window.ActiveXObject) {
    // ...otherwise, use the ActiveX control for IE5.x and IE6
    var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return xmlHttp;
    }

  • Anonymous
    January 01, 2003
    Very often I can't even demo our "IntuiCat" AJAX Search Engine / Catalog in large companies because they only use IE with ActiveX disabled.

    http://www.abaqueinside.com/IntuiCatAjaxDemoVerif.asp

    I hope IE7 will be available as update on Win2k.

    Th N

  • Anonymous
    January 01, 2003
    I suggest this for backwards compatibility with IE 5/Win & 6:

    http://design-noir.de/webdev/JS/XMLHttpRequest-IE/

  • Anonymous
    January 01, 2003
    what to say that hasn't already been said?

    great news indeed! :) i'm assuming that this will be in IE7 Beta 2 for us to test and play with, then?

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    @Thierry: "I hope IE7 will be available as update on Win2k."

    Unfortunately, no. IE7 will be available for Windows XPSP2, Win2k3 SP1, and Windows Vista.

    @Forgetfoo: "i'm assuming that this will be in IE7 Beta 2 for us to test and play with"

    Yes.

  • Anonymous
    January 01, 2003
    To echo Andrew Eberhard above - we really need native (non ActiveX) support for the XSLTProcessor object in addition to the XmlHttpRequest object in order to deliver AJAX appplications to the fully locked-down IE user base.

    Will this be delivered in IE7 as well?

    I have posted about this question in my weblog as well at http://www.freecollaboration.net/archives/2006/01/ie7_ajax_and_ac.html

  • Anonymous
    January 01, 2003
    good news for sites.... ajax is frequently used on in.

  • Anonymous
    January 01, 2003
    XMLHTTPRequest is great but nothing really new. A WebService client would be a giant extension!
    Most people use XMLHTTPRequest to do something very similar to web service calls. I see a chance for a common cross-browser definition for that. FF/Mozilla do already have an interface, but it's not supporting all the basic standards.

  • Anonymous
    January 01, 2003
    I'm wondering if this new implementation will fix IE 6's broken caching, described here: http://mir.aculo.us/articles/2005/08/28/internet-explorer-and-ajax-image-caching-woes

  • Anonymous
    January 01, 2003
    wel this progress has amazed me since the beginning,the only thing that i feel missing is the download manager,it will be the best of the best if you implement it.

    about CSS rendering,can you make it fully compatible with 2.1?

  • Anonymous
    January 01, 2003
    For a change i think this is good. Somethimes MS does see the trend and adapts even though IE is certainly not an early adopter of net technology. Hope IE7 comes soon. Am still without tabs...

  • Anonymous
    January 01, 2003
    I am using Firefox to replace IE6, because of the tabs browsing and speed...

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    "Keep up the good work, if you guys can get up to par with web standards..."

    Well, they won't and MS has said IE7 won't be much better with standards so ...

    Will IE7 make any significant improvements in support of the DOM? The last it supported was those from 1998 and we are well past that while all the other browsers are up to date through at least 2004.



  • Anonymous
    January 01, 2003
    wow, someday you might have a browser almost as good as firefox...

  • Anonymous
    January 01, 2003
    This seems to work well for me:

    // Emulate the native XMLHttpRequest object of standards compliant browsers
    if (!window.XMLHttpRequest) {
    window.XMLHttpRequest = function () {
    return new ActiveXObject('Microsoft.XMLHTTP');
    }
    }

  • Anonymous
    January 31, 2006
    The comment has been removed

  • Anonymous
    February 01, 2006
    PingBack from http://www.robabbott.com/?p=15

  • Anonymous
    February 01, 2006
    In IE 7 Beta.. I am using this...

    if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    }

    But req.readystate is coming as "undefined"....

    Any ideas??

  • Anonymous
    February 01, 2006
    never mind...

    found that readyState is case sensitive...

  • Anonymous
    February 01, 2006
    The comment has been removed

  • Anonymous
    February 01, 2006
    This sounds sweet...can't wait to try it out. Does the Security Dialog still render when making the xmlhttp request with the native support?

  • Anonymous
    February 03, 2006
    i am using ie7 beta2, when i run the following code

    if (window.XMLHttpRequest) {
    var req = new XMLHttpRequest();
    } else {
    // ...
    }

    it gives an error saying it's not 'Not Implemented'

    wonder if anyone else is experiencing the same problem??

  • Anonymous
    February 03, 2006
    PingBack from http://www.ckelly.net/journal/archives/2006/02/03/ie-7-rendering-improvements-hallelujah/

  • Anonymous
    February 03, 2006
    PingBack from http://justaddwater.dk/2006/01/25/multiple-versions-of-ie-in-one-windows-pc-prepare-for-ie7/

  • Anonymous
    February 03, 2006
    I am so unbelievably disappointed with the IE6 handling javascript that I'm sure that IE7 (or any other new service pack) will not resolve the problems.
    Listen:
    - the operator javascript operator keyword 'in' is supported from IE4. But the installed scripting engine, even up to the latest version, will randomly per machine, generate an error without plossible reason.
    On millions of IE 5 or 6 users the following errors: if ("myprop" in myclass) { ... };
    Please explain me why?
    - the 'almost' native msxml will not load. Problably this is caused by the new XP SP2 security settings. But tell me why, when loading and running ActiveX is allowed?
    - Why does an onmouseover on AREA crash IE when another event is triggerd?
    - Why does the loading of a document in a IFRAME stop if a user clicks an href link on the parent?
    Are these BUGS or incompentent implementers?
    I believe that new cavaeits will occur!

  • Anonymous
    February 05, 2006
    PingBack from http://www.mengyan.org/blog/archives/2006/02/04/109.html

  • Anonymous
    February 06, 2006
    PingBack from http://chackalsjc.wordpress.com/2006/01/25/ie7-suportara-o-objeto-xmlhttprequest/

  • Anonymous
    February 07, 2006
    that's impressive

  • Anonymous
    February 08, 2006
    PingBack from http://blog.aperto.de/?p=30

  • Anonymous
    February 12, 2006
    I got "Not implemented" script error when I used XMLHttpRequest in IE7 Beta 2. I guess they did not implement it in B2 yet.

  • Anonymous
    February 14, 2006
    Can anyone show me an example of DOM changes happening when XMLHttpRequest via the ActiveX Version is used in the same thread?
    I run code like this

    function getFromServer(pURL){
    message = document.getDocuemtById('Div_id');
    message.innerHTML = "Show this first please!";
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if(req)
     {
      req.onreadystatechange = returnFromRequest;
      req.open("GET",pURL,false);
      req.send("")    

     }
    }

    The div message does not appeqar until the returnFromRequest function has done its work ...

    Anyone got an example of this or similar changes to DOM happening in a thread that does the above BEFORE the request returns?

  • Anonymous
    February 22, 2006
    After IE7 has been officially released, we can construct XMLHttpRequest natively,i.e. var xmlHttp = new XMLHttpRequest()for
    all the major web browsers including Mozilla, IE and Safari. Isn't that
    a good news for those who build AJAX web application

  • Anonymous
    February 28, 2006
    PingBack from http://blog.aperto.de/2006/01/25/usability/internet-explorer-7-mit-nativem-xmlhttprequest-objekt/

  • Anonymous
    March 12, 2006
    PingBack from http://jacky.seezone.net/2006/01/25/1518/

  • Anonymous
    March 12, 2006
    PingBack from http://jacky.seezone.net/2006/01/25/1518/

  • Anonymous
    April 15, 2006
    PingBack from http://2piste.kluput.org/archives/6

  • Anonymous
    April 19, 2006
    O W3C, &#243;rg&#227;o respons&#225;vel pelo estabelecimento de padr&#245;es da Internet, publicou um draft com a especifica&#231;&#227;o...

  • Anonymous
    April 26, 2006
    PingBack from http://seeand.be/wp/article-77/native-xmlhttprequest-object-in-ie7

  • Anonymous
    May 07, 2006
    PingBack from http://www.money501.com/20060507476/digg-leaks-memory-in-firefox-new-extension-says-so/

  • Anonymous
    June 10, 2006
    PingBack from http://www.acheron.org/darryl/2006/06/11/native-xmlhttprequest-support-in-ie7/

  • Anonymous
    June 19, 2006
    PingBack from http://www.methvin.net/2006/01/ie7-to-natively-support-xmlhttprequest/

  • Anonymous
    June 21, 2006
    PingBack from http://native.bpeighteen.net/archive/relevant-information-on-native-translate-this-page/

  • Anonymous
    July 02, 2006
    This weekend I had a deep look on the native XMLHttpRequest support with the new Internet Explorer version

  • Anonymous
    July 08, 2006
    PingBack from http://native.bpeighteen.net/archive/native-american-art-native-art-network-2/

  • Anonymous
    July 08, 2006
    PingBack from http://native.bpeighteen.net/archive/the-eighth-annual-native-american-music-awards-2/

  • Anonymous
    August 13, 2006
    The comment has been removed

  • Anonymous
    August 15, 2006
    PingBack from http://www.jeria.net/?p=15

  • Anonymous
    August 15, 2006
    PingBack from http://weblogs.asp.net/jezell/archive/2006/08/15/IE7-Native-PNG-Support-a-Sham_3F00_.aspx

  • Anonymous
    October 09, 2006
    PingBack from http://www.powrsurg.com/blog/?p=78

  • Anonymous
    October 18, 2006
    We’ve been talking for a long time about making sure IE7 is as secure as possible but still compatible

  • Anonymous
    October 25, 2006
    PingBack from http://www.techtoolblog.com/archives/ie-7-native-xmlhttprequest-not-so-good

  • Anonymous
    October 26, 2006
    PingBack from http://blogs.missiondata.com/?p=64

  • Anonymous
    November 05, 2006
    PingBack from http://native.bpeighteen.net/archive/mildura-native-nursery/

  • Anonymous
    December 02, 2006
    PingBack from http://robert.accettura.com/archives/2006/12/02/xmlhttpreqoverridemimetype-in-ie7/

  • Anonymous
    December 17, 2006
    这一年多来Vista有不少版本都在我机器上借宿过,从早期巨慢无比到beta1时我的显卡也能跑Aero了.现在RTMBusiness版也占据了我的硬盘的一部分。但是无论什么时候,总是感觉在Vista上...

  • Anonymous
    December 19, 2006
    PingBack from http://www.setti.biz/499/

  • Anonymous
    December 20, 2006
    PingBack from http://native.wveighteen.net/archive/nativecelebs-2/

  • Anonymous
    April 26, 2007
    PingBack from http://www.crysfel.com/?p=9

  • Anonymous
    May 21, 2007
    PingBack from http://orly.highiqsolutions.net/2007/05/21/que-pretende-el-ie7/

  • Anonymous
    June 08, 2007
    PingBack from http://www.ryanj.org/2007/01/01/ajax/

  • Anonymous
    September 12, 2007
    PingBack from http://www.conversationing.com/blog/index.php/2007/09/13/today-is-brought-to-you-by-the-letters-ajax-and-ie7/

  • Anonymous
    January 09, 2008
    PingBack from http://www.lasttick.com/?p=6200

  • Anonymous
    June 29, 2008
    PingBack from http://megan.beststoriessite.com/newestinternetexplorer7.html

  • Anonymous
    October 23, 2008
    PingBack from http://www.life20.cn/2008/10/112/

  • Anonymous
    October 29, 2008
    PingBack from http://cirofeitosa.com.br/new/?p=61

  • Anonymous
    November 02, 2008
    PingBack from http://nyams.planbweb.com/blog/2008/11/03/yen-a-marre-de-valider-les-sites-internet/

  • Anonymous
    January 22, 2009
    PingBack from http://www.hilpers.nl/152564-ophalen-van-object-attributes

  • Anonymous
    April 01, 2009
    PingBack from http://sajit132.wordpress.com/2009/04/01/blog-task-8/

  • Anonymous
    May 29, 2009
    PingBack from http://paidsurveyshub.info/story.php?title=ieblog-native-xmlhttprequest-object

  • Anonymous
    May 31, 2009
    PingBack from http://portablegreenhousesite.info/story.php?id=4424

  • Anonymous
    May 31, 2009
    PingBack from http://portablegreenhousesite.info/story.php?id=14047

  • Anonymous
    June 01, 2009
    PingBack from http://uniformstores.info/story.php?id=17972

  • Anonymous
    June 01, 2009
    PingBack from http://indoorgrillsrecipes.info/story.php?id=509

  • Anonymous
    June 08, 2009
    PingBack from http://jointpainreliefs.info/story.php?id=139

  • Anonymous
    June 08, 2009
    PingBack from http://hairgrowthproducts.info/story.php?id=4043

  • Anonymous
    June 09, 2009
    PingBack from http://toenailfungusite.info/story.php?id=4112

  • Anonymous
    June 13, 2009
    PingBack from http://outdoordecoration.info/story.php?id=3824

  • Anonymous
    June 16, 2009
    PingBack from http://fixmycrediteasily.info/story.php?id=10310