You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Tom Desmet (JIRA)" <ji...@apache.org> on 2008/01/14 07:47:34 UTC
[jira] Closed: (WICKET-1257) iframe get request done 2x after ajax
change in IE
[ https://issues.apache.org/jira/browse/WICKET-1257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tom Desmet closed WICKET-1257.
------------------------------
Resolution: Fixed
Your patch (Rev. 611477) works fine. Thank you very much!
> iframe get request done 2x after ajax change in IE
> --------------------------------------------------
>
> Key: WICKET-1257
> URL: https://issues.apache.org/jira/browse/WICKET-1257
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 1.3.0-rc2, 1.3.0-final
> Environment: All platforms / Internet Explorer
> Reporter: Tom Desmet
> Assignee: Matej Knopp
>
> http://www.nabble.com/bug%3A-iframe-get-request-done-2x-after-ajax-change-in-IE-to14598132.html
> We have a page that has an iframe and an ajax button.
> When the ajax button is clicked, the iframe is replaced by a new iframe with specific src.
> We have encountered the phenomenon where the iframe src is requested
> two times to the server after the button gets clicked.
> After some debugging, the problem was pinned down and
> lies within the file org\apache\wicket\ajax\wicket-ajax.js
> The problem is within the function "replaceOuterHtmlIE".
> There is some kind of "hack" to read the <script> tags within the received html...
> First the content of the div is filled with a table containing received ajax component markup:
>
> tempDiv.innerHTML = '<table style="display:none">' + text + '</table>';
> This way script tags can be retrieved. Afterwards the innerHTML is replaced by a div containing received text.
> tempDiv.innerHTML = '<div style="display:none">' + text + '</div>';
> Both statements cause IE to fetch the urls within the contained text (in our case <iframe src="someurl"></iframe> tags).
> We patched this the following way ...
> The first occurence of tempDiv.innerHTML, The content of the div is filled with a table containing a div.
> tempDiv.innerHTML = '<table style="display:none"><div style="display:none">' + text + '</div></table>';
> After the script tags are retrieved, the table gets removed from the structure,
> and the div within the table is connected to tempDiv.
> var table=tempDiv.firstChild;
> var childDiv=table.firstChild.firstChild;
> tempDiv.removeChild(table);
> tempDiv.appendChild(childDiv);
> Would it be possible to apply this patch to the next wicket version?
> We experienced some problems with the patch, below is the updated version that we use.
> var table=tempDiv.firstChild;
> tempDiv.removeChild(table);
> if(tempDiv.childNodes.length==0) {
> var childDiv=table.firstChild.firstChild;
> table.firstChild.removeChild(childDiv);
> tempDiv.appendChild(childDiv);
> }
> else {
> tempDiv.removeChild(tempDiv.lastChild); // slash table
> tempDiv.removeChild(tempDiv.lastChild); // div
> var childDiv=document.createElement("div");
> childDiv.style.display="none";
> var child;
> while(tempDiv.childNodes.length>0) {
> child=tempDiv.firstChild;
> tempDiv.removeChild(child);
> childDiv.appendChild(child);
> }
> tempDiv.appendChild(childDiv);
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.