You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2011/09/13 02:41:52 UTC
svn commit: r1169989 - in /wicket/trunk:
wicket-core/src/main/java/org/apache/wicket/markup/html/
wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/
wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/mar...
Author: pedro
Date: Tue Sep 13 00:41:51 2011
New Revision: 1169989
URL: http://svn.apache.org/viewvc?rev=1169989&view=rev
Log:
Normalizing the contentWindow.location.replace method behavior.
If the location is:
http://localhost:8080/ajax/wicket/page?{id}
And if we want to navigate to some other page mapped by PageInstanceMapper
the current location.replace('page?{id}') works fine, but only for IE9.
In IE 6, 7 and 8 it works only with the full page path after the filter one.
e.g.: location.replace('wicket/page?{id}')
Issue: WICKET-3982
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/wicket-event.js
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/wicket-event.js
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/wicket-event.js?rev=1169989&r1=1169988&r2=1169989&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/wicket-event.js (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/wicket-event.js Tue Sep 13 00:41:51 2011
@@ -80,6 +80,13 @@ if (typeof(Wicket.Browser) == "undefined
return Wicket.Browser.isIE() && version >= 7;
},
+
+ isIELessThan9: function() {
+ var index = navigator.userAgent.indexOf("MSIE");
+ var version = parseFloat(navigator.userAgent.substring(index + 5));
+ return Wicket.Browser.isIE() && version < 9;
+ },
+
isGecko: function() {
return /Gecko/.test(navigator.userAgent) && !Wicket.Browser.isSafari();
}
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java?rev=1169989&r1=1169988&r2=1169989&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.java Tue Sep 13 00:41:51 2011
@@ -1054,6 +1054,8 @@ public class ModalWindow extends Panel
{
IRequestHandler handler = new RenderPageRequestHandler(new PageProvider(page));
pageUrl = RequestCycle.get().urlFor(handler);
+ String ie8_pageUrl = RequestCycle.get().mapUrlFor(handler).toString();
+ appendAssignment(buffer, "settings.ie8_src", ie8_pageUrl);
}
appendAssignment(buffer, "settings.src", pageUrl);
}
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js?rev=1169989&r1=1169988&r2=1169989&view=diff
==============================================================================
--- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js (original)
+++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/modal/res/modal.js Tue Sep 13 00:41:51 2011
@@ -630,7 +630,11 @@ Wicket.Window.prototype = {
try
{
- this.content.contentWindow.location.replace(this.settings.src);
+ if(Wicket.Browser.isIELessThan9()){
+ this.content.contentWindow.location.replace(this.settings.ie8_src);
+ }else{
+ this.content.contentWindow.location.replace(this.settings.src);
+ }
}
catch(ignore)
{