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…
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.
Entries (RSS)
August 12th, 2005 at 10:53 pm
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?
August 12th, 2005 at 10:57 pm
The problem is that
innerHTMLcompletely strips out all\nsymbols - 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…
August 13th, 2005 at 12:08 am
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?
August 13th, 2005 at 10:32 am
[…] 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) […]
August 13th, 2005 at 11:07 am
innerTextis basicallyinnerHTML.replace(/<[^>]*>/g,''). Believe me - I was playing around with this all day yesterday, andinnerHTMLis 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??).
August 14th, 2005 at 1:08 am
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
August 14th, 2005 at 8:11 pm
[…] On Friday, I announced a non-ActiveX version of XMLHttpRequest, with the proviso that it would require server-side magic. […]
August 14th, 2005 at 9:17 pm
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.
August 17th, 2005 at 11:02 pm
AJAX on IE - back to the IFRAME
August 18th, 2005 at 11:15 pm
[…] 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 […]
August 21st, 2005 at 6:56 pm
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.
August 21st, 2005 at 8:07 pm
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.
August 24th, 2005 at 11:22 pm
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
August 25th, 2005 at 8:16 am
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.
August 26th, 2005 at 9:27 pm
[…] 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. […]
September 22nd, 2005 at 2:37 am
[…] 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). […]
September 24th, 2005 at 6:52 am
Have you concidered adding a script tag instead of iframe?
September 24th, 2005 at 4:54 pm
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.
September 26th, 2005 at 3:23 pm
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…
September 27th, 2005 at 7:31 pm
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.
October 1st, 2005 at 12:26 am
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.
October 1st, 2005 at 10:41 am
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.
October 1st, 2005 at 10:45 am
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.
October 4th, 2005 at 12:26 am
[…] You can, however, get around the ActiveX requirement in IE by using this workaround, or use alternatives to Microsoft’s browser and platform. […]
October 26th, 2005 at 6:10 pm
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Â
January 26th, 2006 at 6:41 pm
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.
February 9th, 2006 at 11:15 pm
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!
February 9th, 2006 at 11:22 pm
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] );
February 23rd, 2006 at 7:06 pm
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.
February 28th, 2006 at 6:22 pm
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
February 28th, 2006 at 7:54 pm
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.
February 28th, 2006 at 11:12 pm
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
March 9th, 2006 at 8:30 pm
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?
March 13th, 2006 at 5:08 pm
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
March 22nd, 2006 at 1:40 pm
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.
March 22nd, 2006 at 1:57 pm
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.
March 22nd, 2006 at 3:58 pm
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…
March 22nd, 2006 at 4:04 pm
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.
March 29th, 2006 at 12:58 pm
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
March 30th, 2006 at 5:30 am
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
March 30th, 2006 at 6:52 am
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.
March 30th, 2006 at 6:55 am
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.
April 7th, 2006 at 4:58 pm
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.
April 18th, 2006 at 2:51 pm
me too
April 26th, 2006 at 4:22 pm
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
May 6th, 2006 at 1:07 am
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
May 6th, 2006 at 7:02 am
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.
May 8th, 2006 at 1:02 am
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! )
May 17th, 2006 at 3:45 am
[…] 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. […]
June 4th, 2006 at 3:06 pm
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.
I read that this is an IE bug.
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
Hope this helps,
Hadar.
June 4th, 2006 at 4:22 pm
I was a little bit hasty.
formObj.innerText does not work well.
I’ll try to figure how to retrieve the response…
June 7th, 2006 at 4:49 am
I am a chinese,I want to know more about Ajax.
June 7th, 2006 at 4:53 am
How to use it , will you give me a example?
My QQ 281351519
Sincerely
June 21st, 2006 at 9:14 am
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.
June 23rd, 2006 at 3:45 am
Hi Hadar,
how do you pass parameters using a form dynamically?
June 23rd, 2006 at 7:36 pm
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
June 23rd, 2006 at 8:48 pm
Thanks, Jake. Always feels good to be appreciated!
July 15th, 2006 at 8:37 am
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.
August 10th, 2006 at 1:30 pm
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.
August 30th, 2006 at 3:39 pm
Hi guys,
Could someone give me a example, how to use it ?
October 26th, 2006 at 7:13 pm
The link to the JS file is broken.
November 2nd, 2006 at 10:30 am
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
February 25th, 2007 at 7:26 pm
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!
The problem was encountered and resolved by me during myAJAX [http://myajax.sf.net] development
April 17th, 2007 at 5:45 am
[…] 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 […]
April 20th, 2007 at 3:20 am
[…] klog » Blog Archive » AJAX in IE without ActiveX (tags: Ajax) […]