AbstractAjaxTimerBehavior adds header-contribution to every ajax response -------------------------------------------------------------------------
Key: WICKET-1405 URL: https://issues.apache.org/jira/browse/WICKET-1405 Project: Wicket Issue Type: Bug Components: wicket Affects Versions: 1.3.1 Reporter: Jani Väisänen The method renderHead in AbstractAjaxTimerBehavior calls super.renderHead (AbstractDefaultAjaxBehavior), which adds lines: - response.renderJavascriptReference(WicketEventReference.INSTANCE); - response.renderJavascriptReference(WicketAjaxReference.INSTANCE); to every response. This behavior causes at least usability problems in IE6. Selected components lose focus on every update even if it is not updated. If the page have a list which is updated on every second and a dropdown which isn't updated at all, user has to do his selection from the dropdown within that update interval. The dropdown list is closed on every update in IE6. This problem doesn't occur with wicket 1.2.6. Sample code: https://download.syncrontech.com/public/update_problem_ie6.zip Ajax debug: INFO: Received ajax response (1181 characters) INFO: <?xml version="1.0" encoding="UTF-8"?><ajax-response><header-contribution encoding="wicket1" ><![CDATA[<head xmlns:wicket="http://wicket.apache.org"><script type="text/javascript" src="resources/org.apache.wicket.markup.html.WicketEventReference/wicket-event.js"></script> <script type="text/javascript" src="resources/org.apache.wicket.ajax.WicketAjaxReference/wicket-ajax.js"></script> <script type="text/javascript" src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/wicket-ajax-debug.js"></script> <script type="text/javascript" id="wicket-ajax-debug-enable"><!--/*--><![CDATA[/*><!--*/ wicketAjaxDebugEnable=true; /*-->]^]^>*/</script> </head>]]></header-contribution><component id="test1" ><![CDATA[<span id="test1"> <span> <span>first</span><br/> </span><span> <span>second</span><br/> </span> </span>]]></component><evaluate><![CDATA[setTimeout("var wcall=wicketAjaxGet('?wicket:interface=:0:form:test::IActivePageBehaviorListener:0:-1&wicket:ignoreIfNotActive=true',null,null, function() {var c = Wicket.$('test1'); return typeof(c) != 'undefined' && c != null}.bind(this));", 3000);]]></evaluate></ajax-response> -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.