gpt4 book ai didi

javascript - Rails - Turbo - 链接预加载但在窗口加载事件后几秒钟内未使用

转载 作者:行者123 更新时间:2023-12-05 00:31:45 27 4
gpt4 key购买 nike

这是网络上的一个常见问题,但我没有找到任何解决我的问题的方法......
当我单击指向其他页面的链接时,我在所有 Rails 应用程序的控制台中都有相同的警告消息
现在只需要找到解决方案...

The resource http://localhost:3000/assets/application-eda55435df3b9385974c23342a8ac80ac010272673a829df638338aed54fe933.css was preloaded using link preload but not used within a few seconds from the window's load event. Please make sure it has an appropriate as value and it is preloaded intentionally.


我的 application.html.erb 中没有标签,但如果可以帮助您,我会使用 Turbo
应用程序.html.erb
<head>
<title>XXXX</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<%= csrf_meta_tags %>
<%= csp_meta_tag %>

<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbo-track': 'reload' %>

<%= javascript_pack_tag 'application', 'data-turbo-track': 'reload', defer: true %>
</head>
应用程序.js
import Rails from "@rails/ujs"
import "@hotwired/turbo-rails"
import * as ActiveStorage from "@rails/activestorage"
import "channels"

Rails.start()
ActiveStorage.start()

import "controllers"
import "bootstrap"
此警告显示在开发和生产环境中

最佳答案

我在一个从 Rails 6.0 默认配置升级到 Rails 7.0 的应用程序中遇到了同样的问题(我们在没有更新 config.load_defaults 版本的情况下升级到了 6.1)。看来这是一个 default behavior introduced in 6.1它会自动向浏览器发送一个“链接” header ,指示它预加载 Assets 。如果您查看 Network浏览器控制台中的选项卡,您应该在“响应 header ”部分中看到它。
似乎这是为了提高页面加载性能,请参阅第 16 项 in this guide ,但并不总是合适的。一些讨论和链接在 the PR adding the config option to disable itthis Twitter thread .
future 访问者请注意:这也可能导致 CSP 处理问题,特别是通过 javascript_include_tag 加载的脚本与 nonce: true .我发现 Firefox 仍然允许这些脚本,但 Safari 和 Chrome 都阻止了它们,大概是因为它们的加载顺序。

关于javascript - Rails - Turbo - 链接预加载但在窗口加载事件后几秒钟内未使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72753525/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com