Laravel 5 javascript缓存错误,刷新页面时工作正常

时间:2016-05-11 12:09:01

标签: javascript twitter-bootstrap-3 laravel-5

我使用的是Laravel 5.2和Bootstrap 3管理模板 我的导航菜单上有两个链接:Home和About 当我在家,并点击关于,它转到about页面,但javascript没有加载。但是,当我点击刷新或甚至在关于链接时,它工作正常。 它与主页相同:如果我在主页上点击主页链接或点击刷新,它可以正常工作。但是,如果我在“关于”页面上单击主页,则在我点击刷新或单击“主页”链接之前,主页上的javascript不会加载。 我的路线以最简单的形式设置,请参见下面的routes.php:

Route::get('/', 'HomeController@index');
Route::get('/about', 'AboutController@index');

控制器是由工匠制造的,如:

    class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return view('home');
    }
}

脚本位于app.blade.php布局中:

<!DOCTYPE html>
<html lang="en">
<head>
    <title>My Website - @yield('title')</title>

    <link href="/css/application.css" rel="stylesheet">
    <link rel="shortcut icon" href="/img/favicon.ico">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">
    <meta charset="utf-8">
    <script>
        /* yeah we need this empty stylesheet here. It's cool chrome & chromium fix
         chrome fix https://code.google.com/p/chromium/issues/detail?id=167083
         https://code.google.com/p/chromium/issues/detail?id=332189
         */
    </script>

</head>

<body id="app-layout">

    @include('layouts.navigation')
    <div class="wrap">
        @include('layouts.header')
        @include('layouts.contentcontainer')
        @include('layouts.loader')
    </div>

    <script src="/lib/jquery/dist/jquery.min.js"></script>
    <script src="/lib/jquery-pjax/jquery.pjax.js"></script>
    <script src="/lib/bootstrap-sass/assets/javascripts/bootstrap.min.js"></script>
    <script src="/lib/widgster/widgster.js"></script>
    <script src="/lib/underscore/underscore.js"></script>

    <script src="/js/app.js"></script>
    <script src="/js/settings.js"></script>

    <script src="/lib/slimScroll/jquery.slimscroll.min.js"></script>
    <script src="/lib/jquery.sparkline/index.js"></script>

    <script src="/lib/backbone/backbone.js"></script>
    <script src="/lib/backbone.localStorage/backbone.localStorage-min.js"></script>

    <script src="/lib/d3/d3.min.js"></script>
    <script src="/lib/nvd3/build/nv.d3.min.js"></script>


    <script src="/js/index.js"></script>
    <script src="/js/chat.js"></script>



</body>
</html>

1 个答案:

答案 0 :(得分:1)

问题解决了。

脚本被错误地包含两次。一旦进入app.blade.php,然后进入实际的home.blade.php和about.blade.php。 相反,我让他们加载一次,现在问题解决了。