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.

Reply via email to