js SetTimeout无法处理初始浏览器加载

时间:2017-11-20 14:45:47

标签: javascript ruby-on-rails twitter-bootstrap-3

我正在运行一个rails应用程序,我有一个调查模式,应该在主页加载后30秒出现。一般来说,这工作正常,除非我重新启动计算机并第一次访问该网站。当发生这种情况时,它立即出现一旦发生这种情况并关闭模态,该页面上的工作正常,并且需要调查的其他页面也会出现。

Modal位于我的application.html.erb文件中。我最初在每个页面上都有模态和js脚本,但这似乎是多余的。所以我从application.html.erb运行js和modal html,用于适用的控制器和操作。除非重新启动计算机并且我首先访问主页,否则一切正常。本地开发和AWS生产就是这种情况。

我将js代码放在头部,没有任何变化。我禁用了turbolinks也没有变化。我做的最后一件事是将代码放在访问者的coffeescript文件中。

原始js。不太清楚ajax调用的作用。 <%= survey_time%>解析为30000.

<script>
  $(window).load(function () {
    setTimeout(function () {
      $('#survey_modal').modal('show');
    }, <%= @survey_time %>);
  });
</script>


<script type="text/javascript">
  $(document).ajaxSuccess(function (event, xhr, settings) {
    $("#survey_modal").modal('toggle');
  });
</script>

这是铁轨吗? 使用4.2.5并尝试使用body标签      数据turbolinks = “假”

任何线索都赞赏......

0 个答案:

没有答案