myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Werner Punz (JIRA)" <...@myfaces.apache.org>
Subject [jira] Issue Comment Edited: (MYFACES-2586) wrong calling order for ajax script autorun
Date Thu, 04 Mar 2010 14:59:27 GMT

    [ https://issues.apache.org/jira/browse/MYFACES-2586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12841308#action_12841308
] 

Werner Punz edited comment on MYFACES-2586 at 3/4/10 2:58 PM:
--------------------------------------------------------------

Ok Ganesh since this is your code anyway a small comment. I checked the issue, and since we
do auto eval whenever possible this was introduced.

The problem lies within the auto eval, we simply add a processed range to the dom tree and
at that time some browsers trigger auto eval (firefox and ie in older versions), while ie6+
and webkit need manual eval.

What happens is that at the insert stage for firefox the scripts are evaled, for ie and webkit
the eval has to happen manually, if we shift that away from the old element inserted new element
removed part we will have different eval behavior on older ie versions and firefox compared
to the rest of the world.

Since the eval code is from you I wonder what you would suggest to fix this.
The issue as I see here is that we have probably double ids for a fraction of a second which
might collide with document.getElementById() if done inlined.





      was (Author: werpu):
    Ok Ganesh since this is your code anyway a small comment. I checked the issue, and since
we do auto eval whenever possible I would not see this as a bug.
The problem lies within the auto eval, we simply add a processed range to the dom tree and
at that time some browsers trigger auto eval (firefox and ie in older versions), while ie6+
and webkit need manual eval.

What happens is that at the insert stage for firefox the scripts are evaled, for ie and webkit
the eval has to happen manually, if we shift that away from the old element inserted new element
removed part we will have different eval behavior on older ie versions and firefox compared
to the rest of the world.

Since the eval code is from you I wonder what you would suggest to fix this.
The issue as I see here is that we have probably double ids for a fraction of a second which
might collide with document.getElementById() if done inlined.




  
> wrong calling order for ajax script autorun
> -------------------------------------------
>
>                 Key: MYFACES-2586
>                 URL: https://issues.apache.org/jira/browse/MYFACES-2586
>             Project: MyFaces Core
>          Issue Type: Bug
>          Components: JSR-314
>    Affects Versions: 2.0.0-beta-2
>         Environment: Javascript
>            Reporter: Ganesh Jung
>
> First the new element is inserted, then the scripts are run, then the old element is
removed. This is wrong, see this example:
> 	    	<h:inputText value="#{myBean.test}">
> 				<f:ajax render="test" />
> 	    	</h:inputText>
> 	    	<h:panelGroup id="test">
> 			    <script type="text/javascript">
> 					alert("running");
> 				</script>
> 		    	<h:inputText value="#{myBean.test}" />
> 	    	</h:panelGroup>
> Correct order would be: First the new element is inserted, then the old element is removed,
then the scripts are run.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message