我正在尝试使用异步JavaScript加载将我的应用程序转换为:
<%= javascript_include_tag "application", async: true %>
问题在于任何特定于页面的脚本都在异步加载Jquery之前运行。如何将它们推迟到加载application.js清单文件后再运行。
我尝试将页面js包装在$(window).load(function(){});
中,但这没有起作用。我仍然看到以下错误:
Uncaught ReferenceError: $ is not defined
更新:
这对我来说似乎是有效的,但我希望有人能确认它是否是正确的方法:
<%= javascript_include_tag "application", async: true, onload: 'pageScripts()' %>
然后页面脚本如下:
<script>
function pageScripts() {
// do something
}
</script>
window.onload
作用域内编写您的 JavaScript 呢? - jayant