[MGNLDEMO-332] Stories page has invalid embedded JavaScript Created: 12/Feb/20 Updated: 07/Mar/23 Resolved: 07/Mar/23 |
|
| Status: | Closed |
| Project: | Magnolia Demo Projects |
| Component/s: | magnolia-travels |
| Affects Version/s: | 1.4.1 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Minor |
| Reporter: | Richard Gange | Assignee: | Unassigned |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Template: |
|
||||||||||||
| Acceptance criteria: |
Empty
|
||||||||||||
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
||||||||||||
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
||||||||||||
| Description |
|
On the stories page there is some imbedded JavaScript. Line 317 of this page https://demopublic.magnolia-cms.com/stories.html. <script language="javascript"> (function () { const players = []; const iframes = document.getElementsByTagName('iframe'); for (let i = 0; i < iframes.length; i++) { const iframe = iframes[i]; const classList = iframe.classList; classList.add('opacity-zero'); players[i] = new Vimeo.Player(iframe); players[i].on('timeupdate', function(event) { if (event.seconds > 0.1) { classList.remove('opacity-zero'); classList.add('opacity-full'); players[i].off('timeupdate'); } }); } })() </script> Tried several validators such as https://www.piliapp.com/javascript-validator/ When trying to compress the page I got this error. [ERROR] HtmlCompressor: "missing ; after for-loop initializer" at line [6:19] during JavaScript compression: for (let i = 0; i < iframes.length; i++) {
[ERROR] HtmlCompressor: "missing ; before statement" at line [6:48] during JavaScript compression: for (let i = 0; i < iframes.length; i++) {
[ERROR] HtmlCompressor: "missing ) in parenthetical" at line [20:5] during JavaScript compression: })()
[ERROR] HtmlCompressor: "syntax error" at line [20:6] during JavaScript compression: })()
[ERROR] HtmlCompressor: "Compilation produced 4 syntax errors." at line [1:0] during JavaScript compression
Feb 12, 2020 2:18:56 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [/pro-5.7-webapp] threw exception
org.mozilla.javascript.EvaluatorException: Compilation produced 4 syntax errors.
at com.googlecode.htmlcompressor.compressor.YuiJavaScriptCompressor$DefaultErrorReporter.runtimeError(YuiJavaScriptCompressor.java:93)
at org.mozilla.javascript.Parser.parse(Parser.java:402)
at org.mozilla.javascript.Parser.parse(Parser.java:347)
at com.yahoo.platform.yui.compressor.JavaScriptCompressor.parse(JavaScriptCompressor.java:312)
at com.yahoo.platform.yui.compressor.JavaScriptCompressor.<init>(JavaScriptCompressor.java:532)
at com.googlecode.htmlcompressor.compressor.YuiJavaScriptCompressor.compress(YuiJavaScriptCompressor.java:53)
at com.googlecode.htmlcompressor.compressor.HtmlCompressor.compressJavaScript(HtmlCompressor.java:946)
at com.googlecode.htmlcompressor.compressor.HtmlCompressor.processScriptBlocks(HtmlCompressor.java:881)
at com.googlecode.htmlcompressor.compressor.HtmlCompressor.processPreservedBlocks(HtmlCompressor.java:771)
at com.googlecode.htmlcompressor.compressor.HtmlCompressor.compress(HtmlCompressor.java:220)
at info.magnolia.html.compressor.filter.HtmlCompressorFilter.doFilter(HtmlCompressorFilter.java:70)
|