0

config.disableAllHeaderCode = 1在我最近的 TYPO3 站点中设置,因为我想完全控制页面模板。

但这不仅会抛出 html 标签等,还会抛出默认的 Js(可用于解密 mailto-Links.js)。

一种解决方案是从核心代码中复制这个由 TYPO3 生成的 JS 并手动插入。很简单:只需设置config.disableAllHeaderCode = 0,加载一次页面,复制js,完成。但是,如果发生更新或设置更改,这可能会中断。

那么:是否可以通过打字稿访问此“默认 JS”并将其分配给 PAGE 对象?

4

2 回答 2

2

看看https://github.com/TYPO3/TYPO3.CMS/blob/master/typo3/sysext/frontend/Classes/Page/PageGenerator.php您将看到垃圾邮件保护代码是硬编码的,并且仅在未设置config.disableAllHeaderCode 时才添加到页面输出中。

因此,我看不到这样做的可能性。因此答案似乎是否定的,除非您对 PageGenerator 进行 XCLASS。我只想复制 JavaScript 代码;我使用 TYPO3 已经有几年了,我不记得垃圾邮件保护代码曾经改变过。

于 2013-09-08T23:49:41.307 回答
1

我认为有一个解决方案。转到 /typo3/sysext/cms/tslib/templates。有一个文件 tslib_page_frontend.html。该文件负责渲染整个页面,包括头部。您可以定义上述文件的新路径。例如设置以下代码:

config.pageRendererTemplateFile = PATH_TO_YOUR_THEME//Resources/Private/Core/tslib_page_frontend.html

分别

page.config.pageRendererTemplateFile = PATH_TO_YOUR_THEME//Resources/Private/Core/tslib_page_frontend.html

新模板文件可能类似于以下小片段:

###JS_INLINE###
###BODY###

这样内联 JS 仍然被渲染(我认为垃圾邮件保护 JS 是内联 JS - 可以存储在外部文件中)。

于 2014-01-28T13:10:14.280 回答