Index: engine.js =================================================================== --- engine.js (revision 2613) +++ engine.js (working copy) @@ -1460,9 +1460,21 @@ } var idname = dwr.engine.transport.iframe.getId(batch); batch.div = document.createElement("div"); + if (!dwr.engine.isIE) { + batch.iframe = document.createElement("iframe"); + batch.iframe.setAttribute("id", idname); + batch.iframe.setAttribute("name", idname); + batch.iframe.setAttribute("frameborder", "0"); + batch.iframe.src = "javascript:void(0)"; + batch.iframe.onload = "dwr.engine.transport.iframe.loadingComplete(" + batch.map.batchId + ");"; + batch.div.appendChild(batch.iframe); + } // Add the div to the document first, otherwise IE 6 will ignore onload handler. document.body.appendChild(batch.div); - batch.div.innerHTML = ""; + if (dwr.engine.isIE) { + batch.div.innerHTML = ""; + batch.iframe = batch.div.firstChild; + } batch.document = document; dwr.engine.transport.iframe.beginLoader(batch, idname); }, @@ -1482,7 +1494,6 @@ * @param {Object} batch */ beginLoader:function(batch, idname) { - batch.iframe = batch.document.getElementById(idname); batch.iframe.batch = batch; batch.mode = batch.isPoll ? dwr.engine._ModeHtmlPoll : dwr.engine._ModeHtmlCall; if (batch.isPoll) dwr.engine._outstandingIFrames.push(batch.iframe);