首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Turbolinks JS结构

Turbolinks JS结构
EN

Stack Overflow用户
提问于 2016-08-12 04:20:23
回答 2查看 794关注 0票数 0

我正在尝试在Laravel 5.2应用程序中使用Turbolinks,考虑到一些页面需要额外的JS,所以有一些js错误。我不知道如何加载页面特定的JS,首先加载什么(在head部分还是在content部分之后?)

这是我当前的主布局:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
    <title>@yield('title')</title>
    <!-- Load CSS -->
    @include('assets.css')
    <!-------------->
    <!-- Load jQuery -->
    <script src="{{ URL::asset('js/jquery-2.1.4.min.js')}}"></script>
    <script src="{{URL::asset('js/jquery.turbolinks.min.js')}}"></script>
    <script src="{{URL::asset('js/jquery.address.js')}}"></script>
    @yield('head')
    <script src="{{ URL::asset('js/turbolinks.js')}}"></script>
    <!----------------->
</head>
<body>
<!-- Load Navbar -->
@include('elements.html.navbartop')
<!----------------->
<div class="pusher">

    <div id="content" class="ui main container" style="margin: 85px 0 50px 0">
        <!-- Load Content -->

        @yield('content')
        <!------------------>
    </div>
</div>
<!-- Load Footer -->
@include('elements.html.footer')
<!----------------->
<!---->
<script src="{{ URL::asset('js/semantic.min.js')}}"></script>
<!--------------------->
<script>
    @include('ajax.search') // searchbar ajax
</script>
</body>
</html>

现在是不同的页面:

代码语言:javascript
复制
@extends('layout.master')

@section('title', 'Dashboard')

@section('head')
<script>
    $(document).ready(function () {    

        $('element').dowhatever;
    });

</script>
@endsection

@section('content')
 ....
@endsection
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-12 23:04:33

应该像这样使用turbolinks load事件,而不是使用$(document).ready事件:

代码语言:javascript
复制
document.addEventListener("turbolinks:load", function() {
    $('element').dowhatever;
});

此外,您还需要了解Turbolinks 5的工作方式,因为在初始页面加载时加载和评估任何脚本,然后将其附加到当前head元素。

票数 0
EN

Stack Overflow用户

发布于 2016-08-12 08:46:35

我建议并建议在页面底部调用JS脚本,您的文件应该如下所示:

代码语言:javascript
复制
<html>
<head>
    <title>@yield('title')</title>
    <!-- Load CSS -->
    @include('assets.css')
    <!-------------->
</head>
<body>
<!-- Load Navbar -->
@include('elements.html.navbartop')
<!----------------->
<div class="pusher">

    <div id="content" class="ui main container" style="margin: 85px 0 50px 0">
        <!-- Load Content -->

        @yield('content')
        <!------------------>
    </div>
</div>
<!-- Load Footer -->
@include('elements.html.footer')
<!----------------->
<!---->
    <!-- Load jQuery -->
    <script src="{{ URL::asset('js/jquery-2.1.4.min.js')}}"></script>
    <script src="{{ URL::asset('js/semantic.min.js')}}"></script>
    <script src="{{URL::asset('js/jquery.turbolinks.min.js')}}"></script>
    <script src="{{URL::asset('js/jquery.address.js')}}"></script>
    @yield('head')
    <script src="{{ URL::asset('js/turbolinks.js')}}"></script>
    <!----------------->
<!--------------------->
<script>
    @include('ajax.search') // searchbar ajax
</script>
</body>
</html>

在Turbolinks之前也加载语义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38905435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档