2017-10-13 59 views
1

我不知道如何可以包括在刀片一次只js文件,一旦用戶已經登錄。Laravel包括刀片JS文件一次性只用過之後已經登錄

當用戶登錄並重定向到一個頁面我現在想在我的刀片文件中包含一個新的js文件,該文件只能在此頁面可用,然後當登錄用戶進入一個新頁面時不再顯示,如閃存消息

確實laravel有任何特殊的方法來實現這個?

感謝

回答

0

可以使用按鍵堆棧如果你正在使用laravel.In刀片,你可以將其添加推這樣

@push('scripts') 
    <script > 
@if(Auth::user()) 
//your script here 
@endif 
</script> 
@endpush 
在主主刀片

您可以添加

@stack('scripts') 

so laravel會自動追加到您的來源

+0

是的,但是這將包括每個網頁上的腳本,如果用戶進行身份驗證。我只想在登錄 – Kiow

+0

@ Kiow後立即爲1請求包含腳本。您可以在登錄後設置布爾值true,以便下次使用isFirstTime時可以設置 – iCoders

+0

如何設置布爾值?登錄後我只需要一次該文件。例如: 用戶登錄>被重定向到帳戶頁面幷包含JS文件。用戶點擊刷新,並重新加載帳戶頁面> js文件不再包含 – Kiow

2

您可以使用auth刀片指令自動插入specifc腳本標籤:

@section('scripts') 
@auth() 
<script src="{{ asset('js/file.js') }}"></script> 
@endauth 
@endsection 
+0

是的,但是如果用戶通過身份驗證,這將在每個頁面上包含腳本。我只想在登錄後立即爲1請求包含腳本 – Kiow

+0

您可以隨時設置一個Flash會話,它不會再被包含。 –

0

resources/views/layouts/app.blade.php

<script src="{{ asset('js/app.js') }}"></script>

嘗試添加:

@if (!Auth::guest()) 

    @yield('secure_template_scripts') 

@endif 

,然後在模板葉片文件中添加如下:

@section('secure_template_scripts') 

    <script src="/pathTo/yourFile.js" ></script> 

@endsection 

如果你想這樣做只是一個單一的文件,你可以做,而不是執行以下操作:

@if (!Auth::guest()) 

    <script src="/pathTo/yourFile.js" ></script> 

@endif 
+0

是的,但是如果用戶通過驗證,這將在每個頁面上包含腳本。我只想在登錄後立即爲1請求包含腳本 – Kiow

+0

將'@section('secure_template_scripts')的調用添加到用戶登錄後立即顯示的刀片中 – developernator

+0

但是,這仍然會加載文件所有的時間只要用戶登錄?我只需要在登錄後加載一次文件例如: 用戶登錄>被重定向到帳戶頁面幷包含JS文件。用戶點擊刷新,並重新加載帳戶頁面> js文件不包含在內 – Kiow