[
https://issues.apache.org/jira/browse/WICKET-3420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Grigorov resolved WICKET-3420.
-------------------------------------
Resolution: Fixed
Improved with r1083712.
> javascript with a less than character ("<") fails to execute when added
> through a header contribution in ajax response
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: WICKET-3420
> URL: https://issues.apache.org/jira/browse/WICKET-3420
> Project: Wicket
> Issue Type: Bug
> Components: wicket-core
> Affects Versions: 1.4.15
> Environment: Validated this bug on my dev environment: Windows 7 64
> bit using Firefox 4.0beta10 and Chrome 8.
> Reporter: Randy Schnedler
> Assignee: Martin Grigorov
> Priority: Minor
> Labels: ajax, header-contribution, javascript, wicket-ajax.js
> Fix For: 1.5-RC3
>
> Attachments: WICKET-3420.patch, myproject.rar
>
>
> This is adapted from a wicket users post I made (links are to the same thread
> in two archive systems):
> http://markmail.org/search/?q=wicket%20users%20wicket-ajax.js#query:wicket%20users%20wicket-ajax.js+page:1+mid:rfts3ar3upffhbbt+state:results
> http://mail-archives.apache.org/mod_mbox/wicket-users/201102.mbox/%[email protected]%3E
> The problem: I have a panel with this:
> <wicket:head>
> <script>
> if (someVariable < 0) {
> someVariable = 0;
> }
> </script>
> </wicket:head>
> This script fails to execute when the panel is loaded by ajax. If I replace
> the less than character "<" with equals "==", then it executes (but of
> course, this is not what I need).
> I tested this in Firefox 4.0b10 and Chrome 8.
> After some debugging, it seems to me that this needs to be corrected in
> wicket-ajax.js. The header contribution is sent to the browser inside of a
> CDATA section so the "<" character arrives to javascript intact. However, in
> parsing the script tag, the "<" seems to signal the beginning of an HTML tag
> that then is considered malformed.
> Possible workarounds for apps:
> - Invert the logic so a greater-than is used. In my example, this would be:
> "if (0 > someVariable) {"
> - Put the code into a separate JS file (the downside is it requires another
> network hop from the browser)
> - Embed the script in <wicket:panel> rather than <wicket:head> (the
> disadvantage is the script will be re-sent with the panel content when the
> panel is re-used on the same page)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira