You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Daniel Fernandez <da...@gmail.com> on 2009/04/23 21:19:44 UTC

Ajax timer behavior not updating component in IE, Chrome and Opera

Hello,

I am sorry I am not going to be very specific here, because the error
I am experiencing is not very deterministic.

The scenario: I am using 1.4-rc2, and I have a page with several (six,
to be precise) panels which load its contents by using a subclass of
AbstractAjaxTimerBehavior, which polls the server until the data for
each of them is ready and if so returns a Panel with the adequate
content. I cannot use LazyLoadPanel because I need their data
obtention to be concurrent, and LazyLoadPanel would serialize their
requests.

This page works perfectly in Firefox, but sometimes I get some weird
behaviour in other browsers. The one most affected is Chrome, but
Opera 9.6 also fails sometimes, and the same goes for IE7.

So, I have this piece of HTML in my page:

<wicket:container wicket:id="rows">
  <tr wicket:id="row" id="row248">
    <wicket:panel><wicket:panel>
      <td wicket:id="rowLabel">ITALY</td>
      <td wicket:id="rowColumns"><img wicket:id="loadingImage"
src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/indicator.gif"/></td>
      <td wicket:id="rowColumns"><img wicket:id="loadingImage"
src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/indicator.gif"/></td>
    </wicket:panel></wicket:panel>
  </tr>
</wicket:container>

...being "row248" a wicket-generated markup id, and of course a unique
identifier in the page.

I can see in the "Wicket AJAX Debug" window that the panel containing
the data is correctly retrieved...

-----------------

INFO:
INFO: Initiating Ajax GET request on
?wicket:interface=:220:test2:content:rows:0:row::IActivePageBehaviorListener:0:-1&amp;wicket:ignoreIfNotActive=true&random=0.6747844972740807
INFO: Invoking pre-call handler(s)...
INFO: Received ajax response (226 characters)
INFO:
<?xml version="1.0" encoding="UTF-8"?><ajax-response><component
id="row248" ><![CDATA[<tr id="row248">

    <td>ITALY</td>
    <td colspan="2"><span>No data to show!</span></td>

</tr>]]></component></ajax-response>
INFO: Response parsed. Now invoking steps...
INFO: Response processed successfully.
INFO: Invoking post-call handler(s)...
INFO: Calling posponed function...
INFO: last focus id was not set
INFO:

----------------


...but *that <tr> is never updated in the page's DOM*, and I never get
to see it. The symptoms are exactly the same in the three mentioned
browsers, and it only happens "sometimes".

And I don't get any errors in the javascript console...


Any clues?


Thank you,
Daniel.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Ajax timer behavior not updating component in IE, Chrome and Opera

Posted by Daniel Fernandez <da...@gmail.com>.
Finally, I was able to reproduce issues in Firefox, IE and Chrome
(although these were a bit different than the one in Opera), so I
explained it all here:

https://issues.apache.org/jira/browse/WICKET-2246

Thanks,
Daniel.


2009/4/27 Igor Vaynberg <ig...@gmail.com>:
> jira issue
>
> -igor
>
> On Mon, Apr 27, 2009 at 10:13 AM, Daniel Fernandez
> <da...@gmail.com> wrote:
>> Hello,
>>
>> Finally, I have been able to replicate this problem with Opera 9.64,
>> and created a sample page with which it is almost deterministic to see
>> it fail (although I can only replicate it consistently in Opera, and
>> it seems to work in the rest of browsers)...
>>
>> Should I open a JIRA issue with this, or should I show this pages
>> (long code) here first in case I am doing something wrong?...
>>
>> Regards,
>> Daniel.
>>
>>
>>
>> 2009/4/23 Daniel Fernandez <da...@gmail.com>:
>>> Hello,
>>>
>>> I am sorry I am not going to be very specific here, because the error
>>> I am experiencing is not very deterministic.
>>>
>>> The scenario: I am using 1.4-rc2, and I have a page with several (six,
>>> to be precise) panels which load its contents by using a subclass of
>>> AbstractAjaxTimerBehavior, which polls the server until the data for
>>> each of them is ready and if so returns a Panel with the adequate
>>> content. I cannot use LazyLoadPanel because I need their data
>>> obtention to be concurrent, and LazyLoadPanel would serialize their
>>> requests.
>>>
>>> This page works perfectly in Firefox, but sometimes I get some weird
>>> behaviour in other browsers. The one most affected is Chrome, but
>>> Opera 9.6 also fails sometimes, and the same goes for IE7.
>>>
>>> So, I have this piece of HTML in my page:
>>>
>>> <wicket:container wicket:id="rows">
>>>  <tr wicket:id="row" id="row248">
>>>    <wicket:panel><wicket:panel>
>>>      <td wicket:id="rowLabel">ITALY</td>
>>>      <td wicket:id="rowColumns"><img wicket:id="loadingImage"
>>> src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/indicator.gif"/></td>
>>>      <td wicket:id="rowColumns"><img wicket:id="loadingImage"
>>> src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/indicator.gif"/></td>
>>>    </wicket:panel></wicket:panel>
>>>  </tr>
>>> </wicket:container>
>>>
>>> ...being "row248" a wicket-generated markup id, and of course a unique
>>> identifier in the page.
>>>
>>> I can see in the "Wicket AJAX Debug" window that the panel containing
>>> the data is correctly retrieved...
>>>
>>> -----------------
>>>
>>> INFO:
>>> INFO: Initiating Ajax GET request on
>>> ?wicket:interface=:220:test2:content:rows:0:row::IActivePageBehaviorListener:0:-1&amp;wicket:ignoreIfNotActive=true&random=0.6747844972740807
>>> INFO: Invoking pre-call handler(s)...
>>> INFO: Received ajax response (226 characters)
>>> INFO:
>>> <?xml version="1.0" encoding="UTF-8"?><ajax-response><component
>>> id="row248" ><![CDATA[<tr id="row248">
>>>
>>>    <td>ITALY</td>
>>>    <td colspan="2"><span>No data to show!</span></td>
>>>
>>> </tr>]]></component></ajax-response>
>>> INFO: Response parsed. Now invoking steps...
>>> INFO: Response processed successfully.
>>> INFO: Invoking post-call handler(s)...
>>> INFO: Calling posponed function...
>>> INFO: last focus id was not set
>>> INFO:
>>>
>>> ----------------
>>>
>>>
>>> ...but *that <tr> is never updated in the page's DOM*, and I never get
>>> to see it. The symptoms are exactly the same in the three mentioned
>>> browsers, and it only happens "sometimes".
>>>
>>> And I don't get any errors in the javascript console...
>>>
>>>
>>> Any clues?
>>>
>>>
>>> Thank you,
>>> Daniel.
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

<div><br></div>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Ajax timer behavior not updating component in IE, Chrome and Opera

Posted by Igor Vaynberg <ig...@gmail.com>.
jira issue

-igor

On Mon, Apr 27, 2009 at 10:13 AM, Daniel Fernandez
<da...@gmail.com> wrote:
> Hello,
>
> Finally, I have been able to replicate this problem with Opera 9.64,
> and created a sample page with which it is almost deterministic to see
> it fail (although I can only replicate it consistently in Opera, and
> it seems to work in the rest of browsers)...
>
> Should I open a JIRA issue with this, or should I show this pages
> (long code) here first in case I am doing something wrong?...
>
> Regards,
> Daniel.
>
>
>
> 2009/4/23 Daniel Fernandez <da...@gmail.com>:
>> Hello,
>>
>> I am sorry I am not going to be very specific here, because the error
>> I am experiencing is not very deterministic.
>>
>> The scenario: I am using 1.4-rc2, and I have a page with several (six,
>> to be precise) panels which load its contents by using a subclass of
>> AbstractAjaxTimerBehavior, which polls the server until the data for
>> each of them is ready and if so returns a Panel with the adequate
>> content. I cannot use LazyLoadPanel because I need their data
>> obtention to be concurrent, and LazyLoadPanel would serialize their
>> requests.
>>
>> This page works perfectly in Firefox, but sometimes I get some weird
>> behaviour in other browsers. The one most affected is Chrome, but
>> Opera 9.6 also fails sometimes, and the same goes for IE7.
>>
>> So, I have this piece of HTML in my page:
>>
>> <wicket:container wicket:id="rows">
>>  <tr wicket:id="row" id="row248">
>>    <wicket:panel><wicket:panel>
>>      <td wicket:id="rowLabel">ITALY</td>
>>      <td wicket:id="rowColumns"><img wicket:id="loadingImage"
>> src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/indicator.gif"/></td>
>>      <td wicket:id="rowColumns"><img wicket:id="loadingImage"
>> src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/indicator.gif"/></td>
>>    </wicket:panel></wicket:panel>
>>  </tr>
>> </wicket:container>
>>
>> ...being "row248" a wicket-generated markup id, and of course a unique
>> identifier in the page.
>>
>> I can see in the "Wicket AJAX Debug" window that the panel containing
>> the data is correctly retrieved...
>>
>> -----------------
>>
>> INFO:
>> INFO: Initiating Ajax GET request on
>> ?wicket:interface=:220:test2:content:rows:0:row::IActivePageBehaviorListener:0:-1&amp;wicket:ignoreIfNotActive=true&random=0.6747844972740807
>> INFO: Invoking pre-call handler(s)...
>> INFO: Received ajax response (226 characters)
>> INFO:
>> <?xml version="1.0" encoding="UTF-8"?><ajax-response><component
>> id="row248" ><![CDATA[<tr id="row248">
>>
>>    <td>ITALY</td>
>>    <td colspan="2"><span>No data to show!</span></td>
>>
>> </tr>]]></component></ajax-response>
>> INFO: Response parsed. Now invoking steps...
>> INFO: Response processed successfully.
>> INFO: Invoking post-call handler(s)...
>> INFO: Calling posponed function...
>> INFO: last focus id was not set
>> INFO:
>>
>> ----------------
>>
>>
>> ...but *that <tr> is never updated in the page's DOM*, and I never get
>> to see it. The symptoms are exactly the same in the three mentioned
>> browsers, and it only happens "sometimes".
>>
>> And I don't get any errors in the javascript console...
>>
>>
>> Any clues?
>>
>>
>> Thank you,
>> Daniel.
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Ajax timer behavior not updating component in IE, Chrome and Opera

Posted by Daniel Fernandez <da...@gmail.com>.
Hello,

Finally, I have been able to replicate this problem with Opera 9.64,
and created a sample page with which it is almost deterministic to see
it fail (although I can only replicate it consistently in Opera, and
it seems to work in the rest of browsers)...

Should I open a JIRA issue with this, or should I show this pages
(long code) here first in case I am doing something wrong?...

Regards,
Daniel.



2009/4/23 Daniel Fernandez <da...@gmail.com>:
> Hello,
>
> I am sorry I am not going to be very specific here, because the error
> I am experiencing is not very deterministic.
>
> The scenario: I am using 1.4-rc2, and I have a page with several (six,
> to be precise) panels which load its contents by using a subclass of
> AbstractAjaxTimerBehavior, which polls the server until the data for
> each of them is ready and if so returns a Panel with the adequate
> content. I cannot use LazyLoadPanel because I need their data
> obtention to be concurrent, and LazyLoadPanel would serialize their
> requests.
>
> This page works perfectly in Firefox, but sometimes I get some weird
> behaviour in other browsers. The one most affected is Chrome, but
> Opera 9.6 also fails sometimes, and the same goes for IE7.
>
> So, I have this piece of HTML in my page:
>
> <wicket:container wicket:id="rows">
>  <tr wicket:id="row" id="row248">
>    <wicket:panel><wicket:panel>
>      <td wicket:id="rowLabel">ITALY</td>
>      <td wicket:id="rowColumns"><img wicket:id="loadingImage"
> src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/indicator.gif"/></td>
>      <td wicket:id="rowColumns"><img wicket:id="loadingImage"
> src="resources/org.apache.wicket.ajax.AbstractDefaultAjaxBehavior/indicator.gif"/></td>
>    </wicket:panel></wicket:panel>
>  </tr>
> </wicket:container>
>
> ...being "row248" a wicket-generated markup id, and of course a unique
> identifier in the page.
>
> I can see in the "Wicket AJAX Debug" window that the panel containing
> the data is correctly retrieved...
>
> -----------------
>
> INFO:
> INFO: Initiating Ajax GET request on
> ?wicket:interface=:220:test2:content:rows:0:row::IActivePageBehaviorListener:0:-1&amp;wicket:ignoreIfNotActive=true&random=0.6747844972740807
> INFO: Invoking pre-call handler(s)...
> INFO: Received ajax response (226 characters)
> INFO:
> <?xml version="1.0" encoding="UTF-8"?><ajax-response><component
> id="row248" ><![CDATA[<tr id="row248">
>
>    <td>ITALY</td>
>    <td colspan="2"><span>No data to show!</span></td>
>
> </tr>]]></component></ajax-response>
> INFO: Response parsed. Now invoking steps...
> INFO: Response processed successfully.
> INFO: Invoking post-call handler(s)...
> INFO: Calling posponed function...
> INFO: last focus id was not set
> INFO:
>
> ----------------
>
>
> ...but *that <tr> is never updated in the page's DOM*, and I never get
> to see it. The symptoms are exactly the same in the three mentioned
> browsers, and it only happens "sometimes".
>
> And I don't get any errors in the javascript console...
>
>
> Any clues?
>
>
> Thank you,
> Daniel.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org