[
https://issues.apache.org/jira/browse/WOOKIE-64?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12781064#action_12781064
]
Scott Wilson commented on WOOKIE-64:
------------------------------------
This is a tricky one to address. One workaround is to wrap scripts in CDATA
sections using:
fProps.setUseCdataForScriptAndStyle(true);
And then later on reading back the file and stripping them out again (as they
cause browser HTML parsing to fail):
// go back and strip out the CDATA sections we wrapped our
scripts in
File file = new File(fStartPage.getAbsolutePath());
String result = FileUtils.readFileToString(file);
String contentResult =
result.toString().replaceAll("<!\\[CDATA\\[", "");
contentResult = contentResult.toString().replaceAll("\\]\\]>",
"");
FileUtils.writeStringToFile(file, contentResult);
I'm reluctant to commit this as a fix to the issue yet as I'm not sure it won't
just create another problem down the line.
> Wookie rewrites HTML start file incorrectly when injecting JavaScript:
> incorrectly encodes inline scripts
> ---------------------------------------------------------------------------------------------------------
>
> Key: WOOKIE-64
> URL: https://issues.apache.org/jira/browse/WOOKIE-64
> Project: Wookie
> Issue Type: Bug
> Components: Server
> Reporter: Scott Wilson
> Priority: Blocker
> Fix For: 0.8.1
>
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> When a widget package is uploaded into Wookie, the start file is injected
> with Wookie javascripts using HTMLCleaner.
> However, where a widget start file already includes inline JavaScript, the
> output is entity encoded; e.g.:
> if( window.widget.preferences["test1"] == "pass1" &&
> Becomes:
> if( window.widget.preferences["test1"] ==
> "pass1" &&
> This breaks a lot of scripts.
> To test, use any of the test widgets at:
> http://dev.w3.org/2006/waf/widgets-api/test-suite/
> This is probably best tackled in conjunction with WOOKIE-42
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.