jQuery脚本只有在函数

时间:2015-11-01 21:30:22

标签: javascript php jquery twitter-bootstrap laravel

我使用Bootstrap作为我的模板,而Laravel作为我的框架。正如示例中所建议的那样,您应该在页面底部加载jQuery脚本 - 以加快加载速度。

在我的应用程序中,我有这个函数来检查会话中是否存在警报,如果是,请显示它:

$(document).ready(function() {
    toastr.options = {
        "closeButton": false
    };
    toastr. {
        {
            Session::get('flash_notification.level')
        }
    }('{{ Session::get('
        flash_notification.message ') }}')
});

上面显示的是我加载jQuery脚本的地方:

@if (Session::has('flash_notification.message'))

    <script>

    The above script is loaded here.

    </script>

@endif

    @yield('content')

</div>

<!-- Scripts -->
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>

为了使这个工作,我需要在模板的标题中声明我的jQuery文件,但我知道这不是最佳实践。我最初认为通过使用$(document).ready()方法,它可以解决这个问题,但事实并非如此。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

最好将脚本调用放在页脚中,以便最后加载它们。这意味着你编写的任何其他JS都需要在它们之下。您可以将其他JS添加到jQuery加载后包含的另一个文件中。

如果您不能,可以将其添加到标题中,并将defer属性添加到script标记,以推迟加载。

虽然选项1应该是首选。