Abr*_*ram 10 javascript asynchronous ruby-on-rails
我试图将我的应用程序转换为异步javascript加载:
<%= javascript_include_tag "application", async: true %>
Run Code Online (Sandbox Code Playgroud)
问题是在异步加载Jquery之前,正在运行任何特定于页面的脚本.在加载application.js清单文件之前,如何推迟这些操作.
我尝试包装我的页面js $(window).load(function(){});但这没有帮助.我仍然看到以下错误:
Uncaught ReferenceError: $ is not defined
Run Code Online (Sandbox Code Playgroud)
更新:
这似乎对我有用,但我希望有人确认这是正确的方法:
<%= javascript_include_tag "application", async: true, onload: 'pageScripts()' %>
Run Code Online (Sandbox Code Playgroud)
然后页面脚本如:
<script>
function pageScripts() {
// do something
}
</script>
Run Code Online (Sandbox Code Playgroud)
Sso*_*esS 13
你的方法是正确的,但我建议限制你的Async仅用于生产,因为在开发中Sprockets还没有连接所有文件.
<%= javascript_include_tag "application", async: Rails.env.production?, onload: 'pageScripts()' %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3008 次 |
| 最近记录: |