[ 
https://issues.apache.org/jira/browse/WICKET-5132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13623576#comment-13623576
 ] 

Martin Grigorov commented on WICKET-5132:
-----------------------------------------

The reason to use jQuery is that IE is notorious of not following W3C standards 
and jQuery task is to handle browser inconsistencies.
In your example you use node.textContent but in older IE versions there is no 
such property and one has to use node.text instead.
I ran the jsperf comparison and I see the big benefit. The suggested 
improvement will be applied! I just need to install IE 7/8 here to test that 
they still work.
                
> Evaluation of returned data (which includes alot of javascript) very slow 
> after ajax call in IE10.
> --------------------------------------------------------------------------------------------------
>
>                 Key: WICKET-5132
>                 URL: https://issues.apache.org/jira/browse/WICKET-5132
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 6.0.0
>         Environment: IE10
>            Reporter: Bas Veenema
>              Labels: javascript, performance
>         Attachments: response_script.txt
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> We're using ajax to update a treetable. In IE10, when the ajax call returns 
> the data, which contains alot of javascript code, processEvaluation in 
> wicket-ajax-jquery.js stalls on var text = jQuery(node).text();
> In jQuery procedure Sizzle.getText is called, which eventually returns 
> property elem.textContent. In IE10 this last statement takes about 26 seconds 
> for our case while the same statement in chrome takes about 6 ms.
> It seems strange that IE10 takes this long to return the textContent of a 
> node, but why is this necessary in the first place?
> The purpose of var text = jQuery(node).text() would be to get the text of the 
> node. I think it would suffice to state var text = 
> node.childNodes[0].nodeValue instead of var text = Query(node).text(), 
> because the text is in the node itself, and it's not necessary to get the 
> text from its descendants, because it has no descendants.
> In our case this modification improves the duration from 25915 ms to 8 ms in 
> IE10.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to