You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Werner Punz (JIRA)" <de...@myfaces.apache.org> on 2010/03/04 15:59:27 UTC

[jira] Issue Comment Edited: (MYFACES-2586) wrong calling order for ajax script autorun

    [ 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:57 PM:
--------------------------------------------------------------

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.





      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.
I personally would say we have to leave it as it is, since this is more or less just a cosmetic issue instead of anything else.
I rather have a similar rendering behavior over all platforms instead of a better one on some which might break things over 
other browsers.


  
> 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.