为什么TYPO3 CMS 9.5中CDATA包装的内联Javascript为空?
我们已经为TYPO3创建了第三方扩展。升级到9.5后,我们现在在[…]/typo3\u src-9.5.9/vendor/typo3fluid/fluid/src/Core/Parser/TemplateProcessor/namespacedtectiontemplateProcessor.PHP第180行中得到一个为什么TYPO3 CMS 9.5中CDATA包装的内联Javascript为空?,typo3,fluid,cdata,typo3-9.x,typo3-extensions,Typo3,Fluid,Cdata,Typo3 9.x,Typo3 Extensions,我们已经为TYPO3创建了第三方扩展。升级到9.5后,我们现在在[…]/typo3\u src-9.5.9/vendor/typo3fluid/fluid/src/Core/Parser/TemplateProcessor/namespacedtectiontemplateProcessor.PHP第180行中得到一个PHP警告:为foreach()提供的参数无效 经过一些web研究,我们发现问题在于内联Javascript,您只能通过使用正确的CDATA包装来解决(更多:) 所以我们尝试过(根
PHP警告:为foreach()提供的参数无效
经过一些web研究,我们发现问题在于内联Javascript,您只能通过使用正确的CDATA包装来解决(更多:)
所以我们尝试过(根据曼努埃尔的说法):
但现在,CDATA包装之间的所有内容都在前端返回中完全消失。如果我们也将脚本标记放在CDATA之间
这也不起作用:
<f:format.cdata>
<script type="text/javascript">
(function($){
alert('test');
})(jQuery);
</script>
</f:format.cdata>
(函数($){
警报(“测试”);
})(jQuery);
尝试以下任一方法:
<script type="text/javascript">
<f:format.cdata>
(function($){
alert('test');
})(jQuery);
</f:format.cdata>
</script>
(函数($){
警报(“测试”);
})(jQuery);
或
(函数($){
警报(“测试”);
})(jQuery);
更新到TYPO3 CMS9.5.10LTS修复了我们所有的问题。唯一有效的方法是避开流体变量声明,如{
和}
,但这并不适合使用。
<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>