首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TYPO3中预加载脚本或CSS

在TYPO3中预加载脚本或CSS
EN

Stack Overflow用户
提问于 2020-04-08 17:16:42
回答 2查看 1.8K关注 0票数 2

我有一些压缩的JS和CSS文件在TYPO3 9.5.15压缩。我正在努力获得一个更好的谷歌PageSpeed排名。我明白这一点,但我不知道如何让TYPO3预加载这些压缩文件。

现在它看起来是这样的:

代码语言:javascript
复制
    page.includeJSFooterlibs {
        jquerycore = EXT:web4brelaunch/Resources/Public/JavaScript/jquery/jquery-3.1.1.min.js
    }

EN

回答 2

Stack Overflow用户

发布于 2020-04-08 19:03:50

我认为TYPO3目前还不支持链接预加载,但是在添加库的时候,你可以在headerDatafooterData中加入已经最小化的库版本(你已经做了)来解决这个问题。以这种方式包含该文件时,TYPO3既不会缩小也不会合并该文件。

代码语言:javascript
复制
page.headerData {
    10 = TEXT
    10.value = <link rel="preload" href="/typo3conf/ext/web4brelaunch/Resources/Public/JavaScript/jquery/jquery-3.1.1.min.js" as="script">
}
page.footerData {
    10 = TEXT
    10.value = <script src="/typo3conf/ext/web4brelaunch/Resources/Public/JavaScript/jquery/jquery-3.1.1.min.js" defer></script>
}

有关rel预加载的更多信息,请参见https://developer.mozilla.org/en-US/docs/Web/HTML/Preloading_content

票数 0
EN

Stack Overflow用户

发布于 2020-06-15 16:40:09

有几种预加载技术: 1) HTML,2) HTTP头,3) <link rel>早期提示

为了在TYPO3中获得JS/CSS资产的最终URL,您应该使用asset-post处理事件/挂钩:

参见https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/10.4/Feature-90899-IntroduceAssetPreRenderingEvents.html ( v10的事件,也包含对v9-hooks的引用)。

挂钩/ Link:

例如(v9):EXT:http2_push设置Link:标头

早期提示

遗憾的是,对于TYPO3,我们不能轻松地使用Early hints,因为在呈现页面之前,我们现在可能不是资产的最终URI。如果您可以调整您的构建/实例以拥有稳定的资产URI (也考虑到?timestamp ),这在我看来可能真的会有所不同,因为下载可能真的会很早就开始。但这需要仔细考虑。

我会确保不会通过早期的提示来阻止客户端缓存。我不确定,但它甚至可能是无条件的推送甚至会产生不必要的开销。我不确定Accept-Push-Policy header有多实验性。

Link:<link>

我怀疑HTML在加载速度上会有什么显著的不同:对于<link rel="preload">,您无论如何都可以使用<head>。对于JS,您可以使用或不使用async/defer来控制是否在<head>中使用它。字体可能有更好的用例。

HTML头实际上可能有助于缩短几毫秒,因为它不需要计算Link:来收集URI。但我们仍然存在页面生成的延迟(在页面生成之前,不会发送AFAIK报头)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61097231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档