Slashdot Mirror


IE7 To Support XMLHTTP Requests

Ruliz Galaxor writes "IEBlog posts that Internet Explorer 7 will support a native XMLHTTPRequest object as many other browsers currently do. This will mean no more ActiveX MSXML objects to implement AJAX functionality. It looks like Microsoft is seriously trying to make the lives of us web developers easier. Of course you'll still need to use the Microsoft.XMLHTTP ActiveX object if you want to support IE6 and older."

13 of 238 comments (clear)

  1. Only for Windows? by Johnny+Mnemonic · · Score: 3, Interesting

    Can someone tell me if this means that I no longer have to take my business elsewhere when I encounter a "Sorry, this site only loads in Windows?"

    I dig that stuff that requires the DRM WMP still may not let me in, but what about other things?

    Can I hope that Safari and friends will no longer be a second class citizen on Exchange WebMail, for example?

    --

    --
    $tar -xvf .sig.tar
  2. IE is changing its tune by Anonymous Coward · · Score: 4, Interesting

    I think it's great what the IE developers are doing. There are, of course, a few features I'd love to see integrated into the latest version, but I'm extremely happy with what they're doing otherwise.

    When the IE blog began I was angered that they didn't seem to be worried about the numerous CSS flaws, among other bugs. They seemed like they were just trying to beef up security. As time marched on, though, the developers seemed to be taking notice to what most of the replies were about. The IE developers listened and really went the extra mile where the concerns of web developers everywhere are concerned.

    While there are a few things I'd love to see (like the ability to properly deliver XHTML), I'm happy (for now) with the changes they're implementing. It sounds like they're really committed to helping web developers from having to design their website three or more times before they get a version that's decent looking in all browsers.

    Let's give the guys some credit where credit is due... who knows, maybe the rest of Micro$oft will take the hint.

  3. Re:And...? by Daniel_Staal · · Score: 2, Interesting

    Impoved support for several of those is also scheduled for IE7. (We'll have to see how much improved when it is actually out, of course, but the reports at the moment are promising.)

    Microsoft has proven it can make a good web browser. When they are backed into a corner.

    --
    'Sensible' is a curse word.
  4. MS doing what it does best ... by SilicaiMan · · Score: 3, Interesting

    ... embrace and extend.

    It's good that MS is supporting web standards, but I doubt the reason is to play nice and make the lives of web developers easier. IMHO, MS realized that they have lost a lot of ground, credibility and following in the browser market. Any new "innovations" coming from MS will NOT be adopted very easily these days unless Firefox, Safari and Opera endorse it. So, before it can repeat what it did to Netscape, MS needs to re-capture its lost browser market share. The easiest way to do that is to come up with a really great browser that supports all the current web technologies, and that is easier to code for than other browsers. Classic 'embrace'. Once it has done that, and it has all the time and money in the world for it to do that, only then can it can start phase 2, the 'extend' phase where it renders all other browsers obsolete.

    The only way to combat MS on this front is to keep innovating, staying a step in front of it. Netscape made the mistake of not updating their browser soon enough, and they paid dearly. I hope Opera, Firefox and Safari have learned that lesson.

    1. Re:MS doing what it does best ... by AeroIllini · · Score: 2, Interesting

      The only way to combat MS on this front is to keep innovating, staying a step in front of it. Netscape made the mistake of not updating their browser soon enough, and they paid dearly. I hope Opera, Firefox and Safari have learned that lesson.

      But it won't happen that way this time. When Netscape died (the first time), there really were only two browsers in the market. When one didn't keep up, the other took over.

      This time around, there are lots of different browsers all working independently. Even if one browser does not innovate fast enough, there are many others that will. Microsoft is now fighting a multi-front battle, and they will never dominate the battlefield again like they did when the defeated Netscape. There are simply too many contenders.

      --
      For security, the MD5 hash of this message and sig is 09f911029d74e35bd84156c5635688c0.
    2. Re:MS doing what it does best ... by Jugalator · · Score: 3, Interesting

      It's good that MS is supporting web standards

      Just so we stay clear about this: MS was the first to support AJAX via XMLHttpRequest, so this is only a change in how they do it.

      Mozilla and Opera followed Internet Explorer here.

      The easiest way to do that is to come up with a really great browser that supports all the current web technologies, and that is easier to code for than other browsers.

      Again, IE was the first to do.

      Once it has done that, and it has all the time and money in the world for it to do that, only then can it can start phase 2, the 'extend' phase where it renders all other browsers obsolete.

      Hoq do implementing XmlHttpRequest support via non-ActiveX render other browser that already have it obsolete? This isn't some weird "lock out" strategy. Please lose your tinfoil hat, at least in discussions where there's absolutely no need to use it.

      --
      Beware: In C++, your friends can see your privates!
  5. A Nice Step by AnalystX · · Score: 2, Interesting

    I was wondering about this very thing just last week. It's definitely a step in the right direction. Now if only MS would care enough to create a browser that behaves and renders more closely to the already superior browsers like Firefox and Safari. Web designers would no longer have to go through the anguish of browser detection for things as simple as page layouts. There's nothing like spending 2+ hours trying to get a single page template to render the same in IE and Safari/Firefox using only CSS. Next on my list: Could Apple please provide better DOM & XPath support in its Safari Javascript engine?

  6. Work vs. Personal Coding by Cyphertube · · Score: 2, Interesting

    Well, this will be a nice change if IE7 is going to play nice.

    For work, I guess I will still have to plan workarounds for IE6. However, I generally only support such browsers officially as long as they receive actual support from their publishers. So, as soon as MS drops support for IE6, so will I (unless I'm ordered to keep it up).

    Personally, I code to whatever standard I've chosen for the day. If I decided to code to CSS 2.1 and I can see it properly in my browser, well, then I'm happy. Because it's my personal stuff. And if IE7 supports something and IE6 doesn't, well too bad. And same goes for Firefox, Safari, Konqueror, and Opera (although it'll be rare that Opera causes me problems, except when a version has tried to pretend it was IE, but that was work anyway).

    Mostly now, since I've grown into being some lazy business analyst with a messy house under renovation, I just blog anyway.

    --
    Linux - because it doesn't leave that Steve Ballmer aftertaste.
  7. Ajax over IFRAME - more compatible? by code4fude · · Score: 3, Interesting

    I'm the web architect of gather.com and we use an invisible iframe as a pipe for our AJAX stuff instead of XMLHttpRequest. This works in a uniform way across all browsers we've tested it on with - even way old ones. The Javascript is 1.0-level stuff and IFRAME is standard since HTML 4. I wonder why more people don't use this approach? I know people hate IFRAMEs, but the ones we use are invisible and 0x0 pixels, so they're little more than an offscreen paint buffer (like BitBlt! :) ) The general approach we're taking is described in this years-old posting on Apple Developer Connection. Anyone else have experience with this approach?

  8. Re:Backwards Compatability by Kelson · · Score: 2, Interesting

    Fortunately you can check by capabilities instead of sniffing UA strings, and lump IE7 in with other AJAX-capable browsers:

    if (native XMLHTTPREquest) {
            do native stuff
    }
    else if (ActiveX XMLHTTPRequest) {
            do ActiveX stuff
    }
    else {
            non-AJAX fallback
    }

    In a few years it'll be practical to drop the middle section, assuming XMLHTTPRequest hasn't been replaced by something more useful.

  9. ISV's lives become easier. by Tenk101 · · Score: 3, Interesting


    I work on solution designs for a fairly large ISV, anything that increases browser compatibility is a good thing all around. Most of our end-user interfaces and make use of XML with some XSLT on the client, we also use XMLHTTPRequests..

    Due to pure market pressure from our existing userbase we develop for the IE platform. IE isn't for everyone and ideally we'd like to target every browser from a technical standpoint and we know it increases the number of potential customers we have. We move one step closer to genuine cross browser compatibility with this.

    Despite this we still need ActiveX right now for a couple of key things:
      - File uploading, we used Java already and it went badly. Our customers had real problems with getting correct JRE versions out to their users, the users complained about the lack of standardisation in basic things like the Common Dialog. We've had a lot less problems with ActiveX controls but understandably network admins really don't like it.
      - MS Office Automation. Part of our product is business reporting, it has features around automated generation of Powerpoint Presentations and Excel Spreadsheets from the web interface. We can't influence our customers decisions around Office systems but we've never encountered pushback over MS Office from anybody. MS Office automation needs ActiveX and is way outside sandbox (local processes are launched and these have access to all kinds of things).

    In short, this helps but we are still a way off from being able to deliver fully functional web-based business systems with this but it helps. As an enthusiast I like it, as a real world solution developer it doesn't quite make a dent.

  10. Re:What Internet Explorer 7 *REALLY* needs... by TodLiebeck · · Score: 2, Interesting
    IMO, document.addEventListener() is more important than any of those. Many of your issues can be worked around, and some of them can be worked around rather trivially. However, there is no way in IE to match the functionality of addEventListener, with any amount of hacking.

    Definitely agree that all my listed issues can be worked around, but I wouldn't go as far as to say it's trivial to do so. Here are the current workarounds I use in IE for these problems:

    • Implement document.importNode() Workaround: Create your own importNode implementation.
    • Support setting of opposite side CSS positioning properties at the same time, i.e., setting "left" and "right or "top" and "bottom" properties on same element. Workaround: Use IE's proprietary "CSS expressions feature" to dynamically calculate width/height of elements (just make sure you account for padding).
    • Fix this problem: http://support.microsoft.com/default.aspx?scid=kb; en-us;177378 Documenting a design flaw does not make it any less of a design flaw. Workaround: render IFRAMEs behind z-indexed DIVs that must obscure select field elements. Unfortunately this does not work in combination with PNG transparency (using DXImageTransform.Microsoft.AlphaImageLoader hack of course).
    • Fix other problems with SELECT element, e.g., the fact that it is not possible to add a ListBox-style select to a document using DOM manipulation. Workaround: Create your own DHTML listbox implementation.
    • Fix bug where the presence of a vertical scrollbar adjacent to a 100% wide table inside of a CSS positioned element results in a horizontal scrollbar due to incorrect width calculations. Workaround: Limit tables to 95% wide when rendering IE (dirty hack IMHO).
    • Fix issue where 100% wide textareas expand to be a bit wider (creating a horizontal scrollbar) once text is entered. This also only occurs if the text area resides in a CSS positioned DIV. Workaround: Don't use percent widths on textareas.
    • Correctly monitor the DOM for updates and repaint appropriately. Currently there are cases where IE will not repaint the screen even though the DOM has changed, requiring the developer to perform additional DOM manipulations just to trigger a repaint. Workaround: "Tickle" properties of other elements in DOM that are known to cause update, i.e., set value to something different, then set it back. This problem shows up very rarely but can be very annoying when it does. This solution is even uglier than the problem.
    • Fix this completely insane bug (scroll down to a few paragraphs or search for the text "worst bug ever in Internet Explorer 6." Workaround: Fix described in blog entry.
    • And last but definitely not least, simply bring the performance up to a level relative to Firefox/Opera/Konqueror/Safari, especially when dealing with reasonably complex and interactive DOMs. Workaround: Keep your DOM as simple as possible (which is obviously a good idea anyway, but nevertheless can sometimes prevent the development of certain AJAX components from being practical.


    Just curious if you happen to know of better/simpler workarounds for any of the above? (Please note, this is not a rhetorical question/argumentative response, I'm genuinely curious if you've come across something better, as I'd be extremely happy to find better solutions for any of the above!)

    And I do agree on the signifance of not supporting the proper W3C events, at this point I'm simply resolved that event capturing is only a figment of my imagination.
  11. Re:This is newsworthy? by leerpm · · Score: 2, Interesting

    Sorry to burst your bubble, but MS invented the whole idea of the XMLHTTPRequest object. They already crossed this finish line 7 years ago.