我对Javascript很陌生,并尝试使用Layzr gem进行一些延迟加载图片以减少页面加载时间。宝石没有正常工作,我已经得到了一个"未捕获的ReferenceError:没有定义Layzr"检查页面时出错。默认图像会加载,但链接中的实际图像不会加载。这是我的代码,希望有人可以提供帮助:
资产/ Javascript角/ application.js中
//= require jquery
//= require jquery_ujs
//= require jquery.slick
//= require cropper
//= require popper
//= require bootstrap
//= require layzr
//= require froala_editor.min.js
//= require plugins/lists.min.js
//= require application
//= require_tree .
我不确定我是否需要"要求layzr"在这里以正确的顺序。
资产/ Javascript角/ layzr.js
$(document).ready(function() {
const instance = Layzr()
});
这是收到错误的文件。它说Layzr()是个问题。
/config/initializers/layzr.rb
Layzr::Rails.configure do |config|
config.placeholder = "/assets/favicon-new.png"
end
show.html.erb
<%= link_to image_tag("#{page.images.best}", lazy: true), cpnl.url,
target: :_blank %></td>
这就是我在视图中使用gem的方式。它应该通过显示默认图像来工作,直到加载链接的图像以减少页面加载时间。默认图像加载,但不加载链接中的图像。