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] Commented: (MYFACES-2586) wrong calling order for ajax script autorun
Date Thu, 04 Mar 2010 14:51: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 commented on MYFACES-2586:
--------------------------------------

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.


Mime
View raw message