What a day! Recently, one of our customers was saying that his site wasn’t working whenever he viewed it in his local net-cafe. This was incredible, to me, as every computer I’ve checked it on has displayed fine.

I finally had an inkling of an idea why this was happening, when I asked him to “click help->about in the browser”, to find out what exact version this was happening in. He said that the browser wasn’t allowing him to access that information.

I understood immediately that it was a security thing. Net-cafes would naturally hate to be infected with the myriad viruses out there, so they tend to belt-up their browsers tighter than the average user.

So, I tried to replicate what might be going on - I set my own Internet Explorer to stun - High security setting. When I tried the site, I was not surprised to find that it was not working. The fact that it relies on JavaScript made that a certainty anyway.

To make it work, I needed to turn on “Active Scripting” (what IE calls ECMAScript), and let it run safe ActiveX modules.

Naturally, I’m slightly ashamed that the site doesn’t work properly in a non-javascript environment, but the site is aimed at the overwhelmingly vast majority of people who are normal. The ActiveX thing, though, was a problem.

I began searching through the source of every AJAX library I could think of - Sarissa, JSPan, Sajax, ie7-xml-extras - every single one of them relied on ActiveX.

Surely there must be some XMLHttpRequest library out there that doesn’t rely on ActiveX?

I sat down, and started work on one. It’s Friday, and I’m exhausted after a very long day’s research, so I won’t go too in-depth into it…

Here’s the file

There are some problems with the above, which I’ll detail.

First off, the file is a drop-in emulation of the XMLHttpRequest object. I wanted to use the exact same API as every other library on the planet is using.

The short explanation of how it works: the library creates an <iframe>, populates it with the requested data, then returns the source of that object.

That’s not quite as simple as it sounds. I got 90% of the code working in 10% of my working time today, and spent the next 90% of the day trying, and failing, to solve the other 10%.

As it is, the file works - it should be bloody simple to add it to any library out there. The major problem, though, is white-space.

The innerHTML returned by IE is not exactly what it was given, but there is no other way of obtaining it.

Trust me - I spent hours crawling through the MSDN library today (in Firefox, because I had IE set on stun, so the navigation (which is ActiveX-based) wouldn’t work) - there is no other way.

I even tried dynamically creating a text/plain <object> to grab the data from it, but got alerts complaining that this was an ActiveX object!

If anyone out there in blogland has an inkling of an idea how to go forward from here, please do pipe up.

65 Responses to “AJAX in IE without ActiveX”

  1. hostyle says:

    I used to do this - the IFRAME “converse with server without refreshing client” thing - a year or two ago before the whole AJAX thing (which I haven’t really looked into at all for precisely the reason that it relies on ActiveX in IE). Could you describe your problem in more detail? Surely a whitespace problem can be dealt with via a javascript regex? What other problems are you having?

  2. kae says:

    The problem is that innerHTML completely strips out all \n symbols - it is impossible to know the difference between a space and a carriage return.

    I’m thinking I may need to escape every carriage return, and possible every space. I hate to have to do anything special on the server-side, but I really have spent all day racking my brain, and can’t think of a way to get around this other than to insert “carriage-return-goes-here” type symbols in on the server-side - which really is blasphemy…

  3. hostyle says:

    If your data is only text use innerText instead but if its HTML (and I’m presuming it is) … I dunno. I used to use write out javascript objects instead of HTML to the IFRAME, which didn’t have such problems. But thats going to add a load of extra overhead in your particular case - it does remove some processing from the client-side though (why output HTML and then have to parse it with javascript aswell, when you can skip the HTML part?)

    You could try using the DOM instead of innerHTML, although you could well come across the same problem, IIRC. I’m having net connection problems ATM, so I can’t do much right now.

    PS. Not to be an ass, but should you not ideally be using normal client-server interaction as a fallback for when AJAX fails?

  4. Holy Shmoly! :: AJAX in IE without ActiveX says:

    […] Kae discovered that AJAX functions in IE depend on ActiveX being enabled. This is terrible - something that’s useful (AJAX) depends on something awful(ActiveX)! Anyway, Kae found a way around this limitation. It’s not complete but it’s a stab in the right direction. Related Stories (ajax, without, activex) […]

  5. kae says:

    innerText is basically innerHTML.replace(/<[^>]*>/g,''). Believe me - I was playing around with this all day yesterday, and innerHTML is actually closer to what I needed.

    You’re right about the basic non-JavaScript client-server being the most important fallback, but in the case I’m describing, JavaScript is available, but with very drastic and ridiculous restrictions (it makes sense to ban the user from downloading unknown ActiveX objects - but to ban them from using their already-installed ones??).

  6. hostyle says:

    If you take a look at http://www.quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html : innerText does not remove whitespace - which is why I mentioned it. Thats just being pedantic however and does not help your problem.

    I don’t think there will be a solution without major re-coding, but good luck with it :)

  7. » Sajax, without ActiveX « klog says:

    […] On Friday, I announced a non-ActiveX version of XMLHttpRequest, with the proviso that it would require server-side magic. […]

  8. Espen Antonsen says:

    I experienced this problem with a customer. This shows that Microsoft should implement DOM3 load/save and XMLHttprequest in the same way Mozilla has, instead of relying on ActiveX. However, for this to become a problem a user must explicitly set the security settings to disallow safe ActiveX. This is not an average scenario - but for public websites this script is very useful as some users will have problems with ActiveX like this.

  9. Pete Freitag says:

    AJAX on IE - back to the IFRAME

  10. » Blog Archive » Ajax en IE sin ActiveX says:

    […] Aunque la verdad… a nivel personal me interesa bien poco si alguien con Internet Explorer y con ActiveX desactivado no puede ver mi pagina si empleo ajax, en mi trabajo les interesa hacer aplicaciones Accesibles, este tio se ha currado un "fork"/ version de sajax en la cual se puede utilizar XMLHttpRequest en IE sin tener ActiveX. http://verens.com/archives/2005/08/12/ajax-in-ie-without-activex/ A quien pueda interesarle […]

  11. Shawn says:

    Yeah, the only thing I can think of immediately is to inside two or three spaces (whatever works with the content) on the server side everytime there is a newline. In the client, then, whenever you see those spaces, you can replace with a newline.

  12. kae says:

    Shawn - that would not work. Adjacent spaces are collapsed by innerHTML. I am convinced that this has no solution without server-side interaction. Here is a modification of Sajax which uses the trick.

  13. David Flanagan says:

    Kae,

    I’ve been trying to make this work myself but was trying to encode my data within a CDATA section in an XML document, so I woudn’t have the whitespace issues I had. (Or the issues I get in Firefox: angle brackets converted to HTML entities.) I wrote a very simple PHP script to stuff the contents of a desired URL into a CDATA section, and things worked fine in Firefox. But not in IE. I’ve concluded that IE’s iframes convert XML documents into HTML documents on the fly.

    In any case, I came up a different encoding and escaping scheme using a tag that works in Firefox and IE, and avoids the awkward problem of having to poll the readyState property. See http://www.davidflanagan.com/blog/2005_08.html#000081

  14. kae says:

    David - I noticed your article yesterday. Isn’t it weird how people sometimes solve the same problem at almost exactly the same time?? Anyway - I incorporated the solution I came up with into the popular Sajax library. That way, even if I don’t notice a bug in it myself, other people will have the time, knowledge and incentive to work on the code. The power of open source!

    There is a problem with IFrames that I noticed while working on a solution for a problem noticed by Dean Edwards - if you try to load up plain-text files such as CSS, then the browser will try to download them, instead of simply handing them back to the script. I recommend using the Sajax library, or your own home-grown library.

  15. Software Development Blog » AJAX Module says:

    […] These were only small things, but then I started trying to learn Javascript OOP. So I converted it to OOP and added support for multiple calls at the same time, the only library available that can do that (as far as I know). I was pretty proud of that fact, so I wondered how to make it even better. Then the idea of making it work on older browsers came in to mind, so I started searching around about using iframes and found Verens’ script which he had made to easily intergrate with AJAX libraries. I was originally planning on peforming all the iframe actions seperately, but his idea was to replicate the XMLHttp object, which makes a more sense and involves less code. So I started coding and spent a couple of days trying to get it all to work in all browsers. […]

  16. A Venture Forth » Blog Archive » What’s Wrong With Ajax? says:

    […] Second, Ajax requires JavaScript and, for Microsoft’s Internet Explorer, ActiveX must be enabled (though there is a workaround). I think this is a manageable issue as most browsers are sufficiently up to date–though some companies and individuals have disabled JavaScript or ActiveX by default for security or privacy related reasons (see here and here). The key is to design applications to degrade gracefully (which is a fancy way of saying that web pages should work for new and old browsers, even if the old browsers don’t support certain new capabilities). Interestingly, Google fails in this regard. Try running Google Maps with JavaScript disabled. It won’t work (they could have produced a Flash-version like this one here–in some ways, it’s better than the original). […]

  17. Dwight Wilbanks says:

    Have you concidered adding a script tag instead of iframe?

  18. kae says:

    Dwight, that would only work if the server was specifically tailored to match the document that was requesting it, and built up custom JavaScript to incorporate the returned data into the running script. In most cases, AJAX involves retrieving pure data from the server. Using a script tag implies that a script is returned - not pure data.

  19. Alex says:

    The good news is that IE 7.0 will remove the need for the ActiveX component that drives their XMLHTTP implementation. Of course, that does not help you now…

  20. los. says:

    I wanted to preserve white space characters in innerHTML and I used element “pre”.

    I tried:
    pre.innerHTML = textWithWhiteSpaceChars;
    but it only worked for Mozilla and not for IE.

    However, I found workaround that worked well in IE:
    dummyElm.innerHTML = “(pre)” + textWithWhiteSpaceChars + “(/pre)”;
    After retrieving innerHTML, all white space characters are preserved (do not forget to trim “pre” tags or access dummyElm.firstChild.innerHTML directly).

    Now I tried the most straight-forward solution and it worked too:
    dummyElm.appendChild (document.createTextNode (textWithWhiteSpaceChars));
    To retrieve text with preserved white space characters:
    dummyElm.firstChild.data

    I hope this helps.

  21. Dwight Wilbanks says:

    kae, Yes that is exactly what I meant dynamic JS. It there an issue with building dynamic js instead of building dynamic xml?

    Is there a problem with createing a “script” tag with a src attribute that has &parms= in it?

    Of course, you could not call it AJAX anymore if you dont use the XML object, but, I dont personally see that big of an issue with it.

  22. kae says:

    Dwight - I’ve never seen XML used in any AJAX clients before - it’s just a name, as far as I can tell.

    There is no problem with writing a server-side script for doing what you want. In fact, I hacked the SAJAX library to use these iframe functions - I don’t know if you’ve followed the link in comment number 7, but it solves all of these problems.

  23. kae says:

    Sorry - I misunderstood what you were saying there, Dwight.

    Actually, the reason I chose not to use a script tag, is that the data returned by an XMLHTTPRequest is not always JavaScript - I wanted to come up with a solution that didn’t force the user to write server-side code as well as client-side.

    Anyway… the SAJAX library solves all my own problems anyway ;-)

    I haven’t tried Los’s solution, but if I need to do something similar again, then I will try it - it may be the answer to this article’s problems.

  24. Get Off Microsoft » Blog Archive » Ajax to Scrub Desktop Applications says:

    […] You can, however, get around the ActiveX requirement in IE by using this workaround, or use alternatives to Microsoft’s browser and platform. […]

  25. Dan says:

    Hi,I was wondering if you could post an example of implementing the code. I’m interested in seeing how you define the onreadystatechange function.When I try to use it in this form: var ajaxengine = new XMLHttpRequest();     ajaxengine.i = 1;     ajaxengine.url = “http://domain.com/testxml.xml”;     ajaxengine.open(”GET”, “http://domain.com/testxml.xml”);it seems to freeze after calling the open method. Could you please tell me what I am doing wrong? Thanks,Daniel 

  26. Kae Verens says:

    Daniel, call it exactly as you would call any other XMLHttpRequest function.

    var ajaxengine = new XMLHttpRequest();
    ajaxengine.onreadystatechange=function(req){alert(req.responseText);}
    ajaxengine.open(”GET”, “http://domain.com/testxml.xml”);
    ajaxengine.send(null);

    the above is not tested. just written from memory based on what you were trying to do.

  27. Peter Goodman says:

    I successfully made my own IFRAME ‘ajax’ object for when activex and xmlhttprequest were not available. I did this a little while back, being inspired by allwrightythen.com. Sofar I have had no problems with it, and when used alone I find it works quite well. Here is a link to the zip: http://www.k4bb.org/AJAX.zip
    There are some other files in there because it uses functions from all of the different files. Hope this helps you out!

  28. Peter Goodman says:

    To use the above (with all files) you can do:
    k4Ajx.loadPage(’url to page’,'GET or POST’,'container_div_id’);

    this method will do everything for you.

    Otherwise, you can do things in a more manual fashion:
    var k4_http = k4XMLHttpRequestFactory.createInstance();
    k4_http.Request(’[request type]’, ‘[url here]’, [loading function], [error function], [success function] );

  29. Tom Brennan says:

    Howdy from Limerick!!! ;-) I have played with ajax and as an fyi - if you use Microsoft.XMLHTTP object from javascript and use the object to do a post - BEWARE!! I wasted a couple of hours trying to get a POST to work, it worked fine from Konquereor/Mozilla/Opera…I have seen sites using this example
    if (window.ActiveX){
    http_req = new ActiveX(Microsoft.XMLHTTP);
    }
    http_req.open(’PUT’, some_url, true);
    http_req.setRequestHeader(’Content Type’, ‘application/x-www-form-urlencoded’);
    IE 6 w SP1 under W2k w SP4, barfs on this, I found the best way to deal with it is to do this,
    http_req.setContentType(’application/x-www-form-urlencoded’); and it works.
    I have put in a branching check to see if it’s IE then to use the SetContentType, for non-ie use setRequestHeader….hope this helps out to someone and save them trouble! :-)

    Meanwhile, excellent article and interesting! Will try this when I get home!
    Slan,
    Tom Brennan.

  30. Jay says:

    Arrgh.. Kae, i’ve been going through a day exactly how you were a while back.
    I need those newline characters and it seems really stupid and pointless to put other tags in when its all just raw data.

    Maybe not to the scale of what you were doing i was simply working on my portfolio site and i thought hey, some of this data which i’ll change regularly i can seperate from the html without having to have server side includes. I’ve used a similar methodology to you however without the state checking as the data i am loading is so small even a setTimeout value of 500ms is probably too long but still.

    It’s driving me crazy, did you find a attribute that didnt require hacking around the data? see it all works fine for me in IE cause it doesnt strip the \n for innerHTML however there are a few white space issues that i dont get if i use innerText. But for firefox i’ve not found anything that will preserve the newlines without having to hack around.

    I used to do this sort of thing in IE for years with only a small amount of javascript, sure its not strict to the DOM but i’ve been using firefox’s DOM inspector and i must say im not that impressed :)
    Hey im not trying to start up a debate over browsers, i’m simply frustrated and at the moment firefox is my enemy because its stripping my newlines ;)

  31. Kae Verens says:

    Jay, this is specifically an IE problem. For Firefox, use the inbuilt XMLHttpRequest object.

    I never found a clean solution for this, but as I am always developing for environments that support server-side code, I resorted to hacking Sajax (as can be seen in the follow-up to this post).

    That’s my recommendation - use the hacked version of Sajax.

  32. Jay says:

    Hi Kae,

    it wasnt really a production thing, more of my own implementation of some reasonably complex javascript just to prove on my portfolio that i’m not a noob :)
    I have successfully made something that works in both IE and FF now, what brought me here initially was the fact firefox was stripping my newlines on innerHTML; I didnt come here looking for help with ajax without activex. So i’m sorry if you have misunderstood my comment :)
    Weird thing is is the fact that firefox 1.0.7 doesnt touch my newlines yet 1.5 strips them.
    But as you said its not really related so thanks for your time :)

  33. g00se says:

    I have seen a way to use Microsoft’s XMLDOM object even if the browser (ie 6 at least) has high security settings that would normally prompt/disable when the object is created. To do it just call:
    document.createElement(”xml”)
    Cool huh?

  34. Oliver says:

    Hi guys
    i’m new in Ajax stuff and programing at all
    and i just want to mention that my ajax page working fine in Firefox
    but refuse to work in IE even with all ActiveX control enabled
    give’s me an error - ‘ajax is null or not an object…’
    Anyway url of my page is
    http://www.infinity2002.net/surferguide/
    and if someone can help please contact me at novmejl@yahoo.com
    Just builded my online PC shop, and was disapointed when found out it does not working in IE

  35. Greg says:

    Has someone tried this script with XAJAX and PHP? I heard about success with this, but it doesn’t work for me. In IE I just get the XAJAX message -Your browser does not appear to support asynchronous requests using POST.

  36. Kae Verens says:

    Greg, the IFrame method I wrote is specifically Get only. I believe it /can/ be adapted to use POST, but I have not done this, as I have not had this need yet.

    The only times when POST is needed are when you are uploading a file, or when the parameters are just too damned long.

    In the case of the file uploading, I use an actual form element pointing to an invisible iframe, and in the case of very long parameters, it’s probably best to use traditional HTTP requests.

  37. Greg says:

    Thanks for the fast answer, Kae! I think I should have a better look at your code next time before posting here. :) I switched XAJAX to GET-mode, but it’s still not working. Now I’m getting a javascript error (r.responseText is null or not an object). Think I will have to have a closer look on the XAJAX package…

  38. Kae Verens says:

    I’ve never used the XAJAX library, although I think I remember noticing a referral from the XAJAX forum. It’s possible that whoever integrated it made a few minor mistakes or something. Personally, I use the Sajax library - more out of comfort, than any idea that it is “superior”. My own copy of it (here) is a bit more developed than the current “official” release, if you want to try it.

  39. JD says:

    Working at a company with IE configured in full paranoid mode I’ve been looking for a way to get AJAX to work properly around here.

    Whats been puzzeling me is why google suggest works fine

    http://www.google.com/webhp?complete=1&hl=en

    while another site using pretty much the same code doesnt.

    http://www.bigkahunaburger.com/suggest2/index.asp

  40. BigBrownChunx says:

    Hey, I’m one of the developers of xajax (mentioned a few comments ago)
    and have been playing around with a couple of attempts of using iframes as fallback for no ActiveX.

    xajax (at the moment) uses the XMLHttpRequest.responseXML() rather than the responseText() function that’s been provided, so I’ve tried to use the document.createElement(’xml’) to make an xml data island, but not getting very far. The best part is that IE likes to format the xml in the iframe (which i get rid of with .replace(/\r\n- /g,”);)

    Anyone have any non-ActiveX code to get a text string of XML into a proper xml object?

    I’ve got things working with both post’s and get’s ok. That was the easy bit :)

  41. Kae Verens says:

    BigBrownChunx - have a look at the code here: http://verens.com/archives/2006/02/05/implementing-an-svg-viewer-in-javascript/

    It builds a bare-bones DOM tree out of an XML string (the SVG). You may be able to adapt that to be useful to you.

  42. Kae Verens says:

    Specifically, you want the js_svg_getDomTree() function in http://verens.com/demos/js-svg/js-svg.js

    you pass it an XML string, and it returns a DOM-like object.

  43. Divakar says:

    Hi ,
    I have the same requirment, using AJAX with out ActiveX. I am not expert in Java Scripts.
    I saw this file http://verens.com/j/nonActiveX-XMLHTTPRequest.js but I am not sure how to use this to call a url and get the contents. If any one have a client program that uses these script, Please send me or publish it. Thanks a lot.

  44. me too says:

    me too ;)

  45. Nagesh says:

    Hi everybody,

    I am having a problem with XAJAX.. I have implemented it.. and it worked FINE in IE but it was giving problem in Mozilla Firefox… I used

    The Flow is …. The user selects the width from the drop down box and after that i called the PHP function i.e. xajax_getAllPrices() this will return me the price depending on the width selected.. and that price is displayed in the DIV tag with table , tr , td tags etc….

    This is working fine in IE but not in mozilla Firefox.. To Test please visit
    http://www.topblinds.com/view.html?cid=7 check this in IE and Firefox..

    Please reply ASAP… waiting for positive replies…

    Thanking You All.

    Regards
    D Nagesh

  46. Colon Cleansing says:

    Hi,

    In “AJAX”, is it possible to contact a server other than the one that the page is hosted on?

    I have a problem where I have to pre-empt an error message from another site. I want to do this with AJAX as it would be the least amount of work. That is if I get around this AJAX and ActiveX thing.

    Thanks,
    chris

  47. Kae Verens says:

    lol! I don’t know whether to treat this as spam or not! CC, yes it is possible, but not with pure JavaScript. You would need to read the external server’s input by creating a proxy script on your own server. That’s outside the scope of this article, but I’m sure a little googling would turn up existing scripts for this. In effect, you would “pipe” (pun intended) the code from the external server through the script to your page.

  48. chris says:

    Spam? Perhaps useful “spam”….

    hmmm…. your alternative solution still seems like less work than what my other alternative is. My other alternative is some server script with ColdFusion, a bit of a mess.

    Thanks
    chris (aka colon cleansing, ha! )

  49. wendelmaques / Ajax sem ActiveX says:

    […] Então, caso nenhum dos dois objetos seja encontrado, e você estaja no Windows com Internet Explorer, você estará num senário hostil com severas restrições de segurança, então é hora de tentar trabalhar sem ActiveX, nesse caso leia o seguinte artigo: “ajax-in-ie-without-activex” e então cheque o script: nonActiveX-XMLHTTPRequest e veja a possibilidade de uso na sua aplicação. […]

  50. Hadar says:

    I also need the request to be sent using POST method.
    So this is what i’ve done:

    /**
    * This is an alternative method for sending xml requests to the server without using
    * xmlhttprequest activeX object which is not supported all browsers
    **/
    function CallServer(xml, url) {
    var formObj = document.createElement(”form”);
    formObj.innerHTML = “”;
    window.document.appendChild(formObj)

    formObj.action = url;
    formObj.method = “post”;
    formObj.target = “ifrmSendData”;
    formObj.submit();
    return formObj.innerText;
    }

    It is very lite function and it works great for me.
    The reason the iframe is in the form is because otherwise the form target can’t find the iframe, and the submit causes a new window to open :( I read that this is an IE bug.

    Hope this helps,
    Hadar.

  51. Hadar says:

    I was a little bit hasty.
    formObj.innerText does not work well.
    I’ll try to figure how to retrieve the response…

  52. Rod says:

    I am a chinese,I want to know more about Ajax.

  53. Rod says:

    How to use it , will you give me a example?
    My QQ 281351519
    Sincerely

  54. Danny Mendel says:

    I really don’t think it’s worth while going back to using iframe, it’s better off to simply incourage use of newer browsers or simply use regular static pages. The loading time is just not worth the difference in usability.

  55. Gus says:

    Hi Hadar,
    how do you pass parameters using a form dynamically?

  56. Jake says:

    Hey Kae, I haven’t read through all of the comments so I’m not sure if you’ve solved the problem or not, but I just wanted to let you know this is a fantastic approach. Genius scripting. I wanted to let you know this works perfect with ColdFusion MX7.

    Jake

  57. Kae Verens says:

    Thanks, Jake. Always feels good to be appreciated!

  58. web says:

    Late to the party.

    But, all you need is to insert a script tag on the calling page. Then the target url of the script tag should generate just:

    var foo=bar;
    .
    .
    .
    var zoo=whatever;

    The url of course can be something like foobar.js?p=23&v=blah
    The server can of course return the unique value of foobar

    Been doing it this way since 2000AD with no problems. No need for eval(), so it is
    about as fast as you can get. The vars exist on their own as soon as received.

  59. sohnee says:

    As iframes have been deprecated, it’s advisable not to use them.

    As fas as Active-X being disabled, it’s already been mentioned that IE7 uses the native request method.

    This still won’t work if users have javascript disabled or if they are using a mobile browser / accessability related browser.

    WIth AJAX, it really is as simple as using the normal method and having a completely non-javascript method of doing things if it’s disabled.

  60. Arun says:

    Hi guys,
    Could someone give me a example, how to use it ?

  61. CRX says:

    The link to the JS file is broken.

  62. Arup Bhanja says:

    Use CPAINT API available at sourceforge.net .. it has php as well as asp code to help you at the server adn client side and works in all browsers.

    Regards,
    Arup

  63. Raul says:

    The same problem, I’ve encountered: submitting a form into a dynamically created IFRAME: FireFox and Opera worked perfect but IE not!
    After 1 day of debugging, I founded that , following solution works:

    [CODE]
    var iFrameID = ‘ID1′;
    var myIFrame = document.createElement(’iframe’);

    myIFrame.setAttribute(’src’, ‘about:blank’);
    myIFrame.setAttribute(’id’, iFrameID);
    myIFrame.setAttribute(’NAME’, iFrameID);
    myIFrame.style.display = ‘none’;
    document.body.appendChild(myIFrame);
    if((onReadyFunction) && (typeof(onReadyFunction) == ‘function’)) captureEvent(’load’, function(){ var iFrame = document.getElementById(iFrameID); var doc = (iFrame.contentDocument)?(iFrame.contentDocument):((iFrame.contentWindow)?(iFrame.contentWindow.document):(self.frames[iFrameID].document)); if (doc.location.href == ‘about:blank’) { return; } else { onReadyFunction(doc.body.innerHTML); } }, myIFrame);
    if(self.frames[iFrameID].name != iFrameID) { /* *** IMPORTANT: This is a BUG FIX for Internet Explorer *** */ self.frames[iFrameID].name = iFrameID; }

    [/CODE]

    Meanning that AFTER the iframe is created, it should be checked that self.frames[iFrameID].name is equal with iFrameID

    No DIV, nothing else more! That’s all! :D

    The problem was encountered and resolved by me during myAJAX [http://myajax.sf.net] development

  64. AJAX Articles Around the Web - News says:

    […] AJAX Articles Around the Web AJAX Applications vs Server Load? - Slashdot thread AJAX/DHTML Tutorial: Should I Render My UI On The Server or the Client? 10 Places You Must Use Ajaxby Alex Bosworth 18 New Ajax Patternsby Michael Mahemoff A Backbase Ajax Front-end for J2EE Applicationsby Mark Schiefelbein A Host of Widgets: AJAX, XGULFs, and the new client/server paradigm A List Apart: Web 3.0by Jeffrey Zeldman A Review of the Echo2 Framework - “Echo2 is an open source Java web development framework that aims to simplify the development of web applications using the AJAX model. I …wrote a simple test application to see if Echo2 lives up to its promise.”by David R. Heffelfinger A Simpler Ajax Path ABC News, Newsweek Spotlight Web 2.0by MIT Technology Review Add weather and podcast feeds to Protopage Adobe Releases Flex 2.0 Beta 1 AJAX - beyond the buzzwords - One of the core technologies behind AJAX is the XMLHTTP Request object - think of it as a tiny hidden web browser. The XMLHTTPRequest method was actually… AJAX - Devmo - AJAX (Asynchronous JavaScript and XML) is not a technology in itself, but is a term that describes a “new” approach to using a number of existing … Ajax == DHTML + XMLHttp Ajax alert raises security, scalability issuesby Colleen Frye AJAX and Atlas: An Overview of Two AJAX Implementationsby Ben Reichelt AJAX and Screenreaders: When Can it Work?by James Edwards Ajax and the Spring Framework with TIBCO General Interfaceby Brian Walsh Ajax and weblogs (kottke.org) - Using Ajax for this was a no-brainer (it’s better than loading all that content ahead of time … if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { … Ajax Arrives for the Enterpriseby Christopher Lindquist AJAX Basics and Directions AJax Blog Ajax Frameworks AJAX gives software a fresh look - cnet articleby Martin LaMonica Ajax In Action Book Reviewby Pan Pantziarka Ajax in Action excerpt: The Page as an Application - Available from TheServerSide AJAX in IE without ActiveXby Kae Verens AJAX Isn’t All Purpose Soapby Justin Schultz Ajax Issue with Safari AJAX Mistakes - “Ajax is also a dangerous technology for web developers, its power introduces a huge amount of UI problems as well as server side state problems and server load problems. I’ve compiled a list of the many mistakes developers using Ajax often make.” AJAX Patterns: Design Patterns for AJAX Usability AJAX Pioneer Zimbra Named ‘Cool Vendor for Web 2.0? by Gartner Research Ajax Programming in BEA WebLogic Portal, Part 1by John Margaglione Ajax reconsideredby Adam Bosworth AJAX Toolkit Framework Proposal AJAX Tools Get Green Light Ajax Videos Available from Sun Developer Network Channel Ajax Was Here - ASP article AJAX without the J: Thoughts on AJAX from a JSF Perspectiveby Sergey Smirnov AJAX’ Achilles Heel Ajax.NET Blog Ajax: How To Weave A Faster Web - small BusinessWeek article AJAX: Is your application secure enough? Ajax: Killing Usability One Request at a Timeby Justin Palmer AJaX: Two steps forward… Two steps back? AJAX@WikiPedia.org - general information ALE: Ajax Linking and Embedding Alexander Jerusalem: Does JSF + AJAX really make sense? - a thread from TheServerSide.com Apollo: Developer FAQ - Apollo is the code name for a cross-operating system runtime being developed by Adobe that allows developers to leverage their existing web development skills (Flash, Flex, HTML, JavaScript, Ajax) to build and deploy Rich Internet Applications.by Adobe Labs Aslak Hellesoy’s uncommon sense - Ajax with JavaScript Templates - Now add AOP to Javascript and the Ajax approach gets even more powerful. An example approach is at: http://www.jroller.com/page/deep/20030701. J. Betancourt … ASP.NET Spiced: AJAXby Karl Seguin Backbase AJAX strategy whitepaper (PDF) BACKBASE Releases Next Generation AJAX Development Software - BACKBASE, the Rich Internet Applications (RIA) solutions provider, this week announced the general availability of the Backbase Standard- and Shared Hosting Edition 3.0, the next generation AJAX (Asynchronous JavaScript + XML) development software. BEA’s Carges on portals, Ajaxby Michael Meehan Best Practices: Implementing javascript for rich internet applications Book excerpt: Jump into AJAX development - Build a simple application with AJAX and PHPby Cristian Darie, Bogdan Brinzarea, Filip Chereches-Tosa, Mihai Bucica Can Ajax be running partner of Web services?by Michael Meehan CanvasGraph.js : Graphing in Javascript ClearNova Exec Defends Open Source AJAX Development vs Java ClearNova integrates Java and Ajaxby Michael Meehan Cloning Google Suggest with AjaxAC - This article covers how to implement a system such as Google Suggest using JavaScript, CSS and PHP. Company claims patent win in online rich mediaby Graeme Wearden and Rupert Goodwins Could Ajax Wash Away ‘Smart Clients’? Crossing borders: What’s the secret sauce in Ruby on Rails?by Bruce Tate Designs for remote calls in Ajax - I’m pleased with how the best practices of doing remoting are emerging in Ajax. Most Ajax libraries have ditched the RPC approach to remoting and are instead using a very specialized form of distributed computing. Desperately seeking: More AJAX developers - zdnet blogby David Berlind Dion Hinchcliffe’s SOA Blog: “Why AJAX Is So Disruptive” DWR 1.0 released Dynamic Drive CSS Library Launch Early AJAX Office Applications - interesting post on Slashdot Eclipse developers to get AJAX access Edit-in-Place with Ajax Efficient JavaScript code Enterprise AJAXby Jonathan Boutelle Eric Pascarello dissects Ajax security vulnerabilities - from the co-author of Ajax In Action Fighting AJAX’s Enemy: Legacy HTML Forms Flash RIAs vs. Javascript RIAs Flash to the Rescueby Jason Levitt Fuel For The Web - InformationWeek article with commentary from some industry leaders.by Aaron Ricadela FutureResponseServlet: Scaling AJAX Applications Using Asynchronous Servletsby Bahar Limaye Getting AJAX Ready for Prime Time - “Microsoft Office-level functionality is rapidly becoming available on the Web today”by Dion Hinchcliffe Google Hacks Google Local For Mobile Using Ajax For Midlet! Google v. Microsoft: New Search Interfaces Google: Web Authoring Statistics Gosling Outlines the Trouble With AJAX - James Gosling, Sun Microsystems executive and creator of Java, talks about the future of AJAX and Sun’s highs and lows in the software arena.by eWeek IBM Leads “Open AJAX” Coalition of Web 2.0 Vendorsby Roger Strukhoff IBM Polishes SOA Blitz With AJAXby Jason Lee Miller IBM Proposes Open-Source AJAX Project to Eclipse Implementing Ajax: Which Framework Is Right?by Minda Zetlin Internet Explorer 7 Gets RSS, AJAX Infusionby Matt Hines Interview with Max Katz - Max Katz, senior systems engineer at open source software solutions provider Exadel, talks about the key value and benefits of JSF, how it compares to other frameworks, why it is such a good fit for AJAX, and support for JSF technology at Exadel.by Kito D. Mann Is Ajax gonna kill the web frameworks?by James Strachan Is Ruby on Rails Maintainable? - slashdot thread Java BluePrints AJAX Components JavaDB: An idea whose time has finally come? - an article discussing the possible use of Apache’s Derby database for Ajax apps.by David Berlind JavaScript and “serious” programmers JavaScript Idioms Every Webdev Should Grok JBoss Seam 1.0 Open Sources AJAX and SOAby AJAXWorld News Desk Jetty 6.0 Continuations - AJAX Ready! JSON and the Golden Fleece Kick-start your Java apps, Part 2: Easy, lightweight Ajax development with no-charge softwareby Sing Li Life After Ajax? Lightbox for Modal Dialogs Redux - This is a roundup of more Lightbox-type modal dialog options.by Andre Lewis LogicBlaze fuses SOA, Ajax to LAMP with MySQL partnershipby Rich Seeley Meet Ajax: Intelligent Web Applications with Ajax Mercury: AJAX has its drawbacks Microsoft flips Atlas a second timeby Gavin Clarke Microsoft to preview Ajax technologies at PDC Microsoft uses Ajax to Web-enable corporate IM Mixed static and dynamic content compression - interesting post on webmasterworld.com that touches on optimal solutions for compressing JavaScript Mozilla Introduces Firefox 1.5 and Ups the Ante in Web Browsing MSN Virtual Earth, Google Maps, and AJAX deep linking MVC and RIA - Learning From Desktop Appsby Dietrich Kappe New AJAX Website Unveiled: AJAX.sys-con.com Newsweek: Smoother Surfingby Daren Briscoe Nexaweb Joins the Eclipse Foundation Nexaweb to Introduce Ajax Developer Edition Nothing To Cheer Here: Microsoft’s Ajax Toolkit Is a “D” Opening Move - David Temkin, CTO, Laszlo Systems is interviewed on IT Conversations Real-time Server Interactivity - “Javascript and server-side technology are increasingly being combined. This is a Good Thing.” Real-World AJAX: A Bustling Day of AJAX in San Joseby Dion Hinchcliffe Review: Google Calendarby Barbara Krasnoff Rich Ajax slide shows with DHTML and XMLby Jack Herrington Rich Internet Applications and AJAX - Selecting the best product Round-up of 30 AJAX Tutorials Ruby on Rails 1.0 Released Ruby on Rails 1.1: Web 2.0 on Rocket Fuelby Dion Hinchcliffe Seattle Movie Finder: An AJAX- and REST-Powered Virtual Earth Mashupby Dare Obasanjo Sensible Forms: A Form Usability Checklist Simulating Latency with Greasemonkey Slashdot Book Review: Head Rush Ajax Software AG Using Ajax to Develop SOA and Web Services For Google Speed up your AJAX based webappsby Vivek Jishtu Startups Board the AJAX Bandwagon State of Ajax: Progress, Challenges, and Implications for SOAsby Dion Hinchcliffe Sun Blueprints starts to address AJAX in J2EE - post on TheServerSide Surveying open-source AJAX toolkits - Packages from Dojo, Zimbra, Yahoo, Microsoft, Google, and OpenRico/Prototype showcase the variety of libraries available to AJAX developersby Peter Wayner Take AJAX to Your Email Inbox: Developing a Web-based POP 3 Clientby Alejandro Gervasio Tech Talk: Joe Walker on using AJAX with DWR The 7 (f)laws of the Semantic Web - AJAX trends are analyzedby Dan Zambonini The Ajax Job Watch The AJAX Toolkit Framework (ATF) Proposal The Best Web 2.0 Software of 2005 The Father of AJAX Gives Paternal Advice The Four “Quantum States” of AJAXby Kevin Hakman The future of HTML, Part 1: WHATWG The JavaScript Library World Cupby Dan Webb The More Things Changeby Micah Dubinko The Non-Techie Manager’s Introduction to AJAXby Tiffany LeFarge The State of Web 2.0by Dion Hinchcliffe The Strange Zen of JavaScript The Two Roads to Ajax - Two distinct approaches to Ajax application development emerged in recent years, each extending previous architecture models. As the two seem incompatible, you will need to make a choice.by Frank Sommers The Wall Street Journal Online Launches AJAX-Powered “LiveNews” The Web Application Leap - a blog from a Google “AJAX” developer. ThickBox - version of the Lightbox technique includes functionality similar to that of the Greybox technique. That is, ThickBox can show html pages as well as images. The html that is shown inside ThickBox is pulled from the server using AJAX.by Cody Lindley TIBCO Releases General Interface 3.1 Tibco Tries Cleaning Up with AJAX Tibco, Adobe offer open-source AJAX alternativesby Heather Havenstein Top 10 Innovative Web 2.0 Applications of 2005by Mark Millerton Turbocharge Your Pages with AJAX, Dojo, and Strutsby Doug Tillman Two tools bring Ajax to Eclipse’s Ajax Toolkit Frameworkby Tim McIntire W3C Creates Web APIs Working Group Web 2.0 Design: The Ajax Spectrumby Dion Hinchcliffe Web 2.0 for the Enterprise: Where the Action Is?by Dion Hinchcliffe Web 2.0 meets the enterpriseby Martin LaMonica Web 2.0 report card Web 2.01, a rich internet application example Web 2.0: Knowledge Discoveryby Ken Yarmosh Web2.0 + AJAX: The Loosely-Coupled Web WebWork 2 Ajax Validation WebWork 2.2 Released with AJAX Support WebWork doesn’t Get AJAXby Bile Blog What Is Web 2.0by Tim O’Reilly What’s next after AJAX? - There are some capabilities that Web-based apps can’t handle — yetby Rohit Khare What’s next for Rich Internet Applications?by Geert Bevin What’s Wrong With Ajax? Which New Browser Is Best: Firefox 2, Internet Explorer 7, or Opera 9?by Michael W. Muchmore Why Ajax Matters Nowby Jesse James Garrett Why Ajax Sucks (Most of the Time)by Jakob Nielsen Will Ajax Catch On? Will AJAX help Google clean up? XMLHttpRequest, REST and the Rich User Experience Yahoo! Search Web Services Yahoo!’s New Home Page and the Future of Information Year in Review: AJAX Desktops and Homepages Published Apr 12 2006, 07:43 AM by AjaxMatters […]

  65. links for 2007-04-20 « Skywalker says:

    […] klog » Blog Archive » AJAX in IE without ActiveX (tags: Ajax) […]

Leave a Reply