屏幕宽度小于指定尺寸时发出警报

时间:2019-12-17 12:21:50

标签: jquery ruby-on-rails ruby-on-rails-6

我有一个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页面,那么,我可以在哪里放置该代码片段?

3 个答案:

答案 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