为什么TYPO3 CMS 9.5中CDATA包装的嵌入式Java脚本为空?

问题描述 投票:0回答:1

我们已经为TYPO3创建了一个第三方扩展。升级到9.5后,我们现在得到一个PHP Warning: Invalid argument supplied for foreach() in [...]/typo3_src-9.5.9/vendor/typo3fluid/fluid/src/Core/Parser/TemplateProcessor/NamespaceDetectionTemplateProcessor.php line 180

经过一些网络研究,我们发现问题是内联Javascript,您只能通过使用正确的CDATA包装来解决(更多:https://forge.typo3.org/issues/88615

所以我们已经尝试过了(根据手册https://docs.typo3.org/m/typo3/guide-extbasefluid/master/en-us/Fluid/ThingsToKnow/JsAndInline.html:]:>

<script>
    <![CDATA[
        (function($){
            alert('test');
        })(jQuery);
    ]]>
</script>

但是现在,CDATA Wrap之间的所有内容在前端返回中完全消失了。同样,如果我们也将脚本标签放在CDATA之间。

而且那也不起作用:

<f:format.cdata>
   <script type="text/javascript">
      (function($){
        alert('test');
      })(jQuery);
   </script>
</f:format.cdata>

我们已经为TYPO3创建了一个第三方扩展。升级到9.5之后,我们现在得到一个PHP警告:[...] / typo3_src-9.5.9 / vendor / typo3fluid / fluid / src / Core / Parser / ...]中为foreach()提供了无效参数。

尝试以下任何一种:

<script type="text/javascript">
   <f:format.cdata>
      (function($){
        alert('test');
      })(jQuery);
   </f:format.cdata>
</script>

<f:format.raw>
   <script type="text/javascript">
      (function($){
        alert('test');
      })(jQuery);
   </script>
</f:format.raw>
typo3 fluid cdata typo3-9.x typo3-extensions
1个回答
0
投票

尝试以下任何一种:

© www.soinside.com 2019 - 2024. All rights reserved.