如何在Ruby on Rails中预加载图像以避免“闪光”

首先,我来自JS背景,对于Ruby on Rails来说还很陌生,所以这可能是一个愚蠢的问题,但是,如何预加载图像资产(SVG)?这是正在发生的事情...

我有自定义复选框/无线电,它们将不同的SVG用于已检查/未检查状态。用户首次访问我的网站时,单击复选框将其选中,他们将看到快速的“闪烁”。发生这种情况是因为在发生点击之前,不会提取“选中”状态资产。一旦资产被缓存,问题就不再发生。是否有Ruby on Rails方式可将该资产预加载到DOM中?

我曾尝试研究如何通过资产渠道进行此操作,但运气不佳。我还使用了sass-rails宝石,但是使用asset-path对我不起作用。这是我的代码的示例。

.custom-checkbox::before {
  ...
  background-image: url(asset_path('check_box_unchecked.svg'));
}

.custom-checkbox::after {
  ...
  background-image: url(asset_path('check_box_checked.svg'));
}

我可以通过在<head/>标记中执行此操作来防止出现闪烁问题,但是由于我必须将其复制到我的每个布局中,因此感觉很糟糕

<%= image_tag('check_box_checked.svg',style: 'display:none;') %>
quanta1 回答:如何在Ruby on Rails中预加载图像以避免“闪光”

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3100108.html

大家都在问