我正在使用Laravel开发PHP的网页。我想使用属性" defer"或" async"对于我的javascript文件,但我有一些问题。 在每个文档中,我加载一个包含以下内容的标题:
{{ Html::script('js/jquery.js', array('defer' => 'defer')) }}
{{ Html::script('js/bootstrap.min.js', array('defer' => 'defer')) }}
{{ Html::script('js/pjax.js', array('defer' => 'defer')) }}
{{ Html::script('js/jquery.cookie.js', array('defer' => 'defer')) }}
{{ Html::script('js/blur.js', array('defer' => 'defer')) }}
{{ Html::script('js/scrollbar.js', array('defer' => 'defer')) }}
<!--Form-->
{{ Html::script('js/parsley/parsley.remote.js', array('defer' => 'defer')) }}
{{ Html::script('js/parsley/parsley.js', array('defer' => 'defer')) }}
{{ Html::script('js/parsley/es.js', array('defer' => 'defer')) }}
{{ Html::script('js/icheck.js', array('defer' => 'defer')) }}
<!--Funciones-->
{{ Html::script('js/funciones.js', array('defer' => 'defer')) }}
如果我给他们属性async,那就不能正常工作,因为其中一些是模块化的。 所以我尝试使用defer属性并且我没有遇到此问题,但现在我对内联javascript有问题,因为它调用了标题的函数。 (这是在页面的底部)。
<script type="text/javascript">
window.addEventListener('popstate', function(e) {
eval(document.getElementById("script_biblioteca").innerHTML);
});
//Scripts on back/forward
section = 'biblioteca';
url_section = "{{Request::root()}}/"+section+"/";
activar_menu('#menu_biblioteca');
buscador('#dinamic_search', '#main', section);
</script>
错误:
ReferenceError: $ is not defined
ReferenceError: activar_menu is not defined
我该如何解决? 而且,我正在使用&#34; defer&#34;属性正确吗?
答案 0 :(得分:0)
一种选择是使用Gulp在单个脚本中连接所有脚本。
这样你就不会有这个问题,也不必打开多个浏览器连接来下载多个js文件。
当您尝试使用Jquery但尚未加载时,您会收到以下消息:
ReferenceError: $ is not defined