我有一个Ruby on Rails v6应用程序。
我需要实现的是在屏幕宽度小于1000像素时,在用户连接到应用程序时向其发送警报。
我找到了一些建议,我的首选是
$(window).onload(function() {
var width = $(window).width();
if (width < 1000){
alert('Your screen is too small');
}
});
唯一的问题是我不知道将其放置在何处:
我的应用程序控制器调用application.html.haml
页面而不是application.js.erb
页面,那么,我可以在哪里放置该代码片段?
答案 0 :(得分:1)
好,我解决了这个问题。我刚刚用$(window).onload
更改了$(document).ready
,警报神奇地出现了!
谢谢大家。
答案 1 :(得分:0)
您可以使用:javascript 过滤器以内联方式添加javascript代码:
以下代码应放在jQuery include标签之后。 我建议将其放置在主体的末端。
:javascript
$(window).onload(function () {
var width = $(window).width();
if (width < 1000) {
alert('Your screen is too small');
}
});
答案 2 :(得分:0)
最好尽可能避免使用内联JS,因为这样做意味着您没有利用Webpack的优势。
如果不是只在特定页面上使用此代码,我将创建一个新包(在app/javascript/packs
中),并将其包含在{{1}所需的页面上}助手。
如果在每个页面上都使用它,则只需创建新的包,然后在javascript_pack_tag
中要求它即可。
这里是指向演示这两种方法的文章的链接:https://dev.to/morinoko/adding-custom-javascript-in-rails-6-1ke6