Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
异步加载清单文件后如何加载页面javascript_Javascript_Ruby On Rails_Asynchronous - Fatal编程技术网

异步加载清单文件后如何加载页面javascript

异步加载清单文件后如何加载页面javascript,javascript,ruby-on-rails,asynchronous,Javascript,Ruby On Rails,Asynchronous,我正在尝试将我的应用程序转换为异步javascript加载: <%= javascript_include_tag "application", async: true %> 更新: 这似乎对我有效,但我希望有人确认这是正确的方法: <%= javascript_include_tag "application", async: true, onload: 'pageScripts()' %> 然后,页面脚本如下所示: <script> funct

我正在尝试将我的应用程序转换为异步javascript加载:

<%= javascript_include_tag "application", async: true %>
更新

这似乎对我有效,但我希望有人确认这是正确的方法:

<%= javascript_include_tag "application", async: true, onload: 'pageScripts()' %>

然后,页面脚本如下所示:

<script>
  function pageScripts() {
    // do something
  }
</script>

函数pageScripts(){
//做点什么
}

您的方法是正确的,但是我建议您将异步仅限于生产,因为开发中的链轮尚未包含所有文件

<%= javascript_include_tag "application", async: Rails.env.production?, onload: 'pageScripts()' %>


谢谢,既然你费心回复,我就给你支票。顺便说一句,您可以在开发中通过将其放在development.rb
config.assets.debug=false
中来测试这一点。。这将强制清单文件处于开发模式,但通常最好按照您的建议执行
async:Rails.env.production?
。谢谢。async=>true和async:Rails.env.production之间有什么区别@KickButtowski不同之处在于,当
:async=>true
时,它始终是异步的,但当
async:Rails.env.production?
时,它只有在生产中才会异步。为什么不简单地在
窗口中编写javascript。onload
范围?
<%= javascript_include_tag "application", async: Rails.env.production?, onload: 'pageScripts()' %>