ページに簡単な戻るボタンを作成しようとしています。ユーザーは2つの異なるページからこのページにアクセスできるので、どちらのページからアクセスしたかを知りたいと思います。それは可能ですか?
ページに簡単な戻るボタンを作成しようとしています。ユーザーは2つの異なるページからこのページにアクセスできるので、どちらのページからアクセスしたかを知りたいと思います。それは可能ですか?
回答:
Laravelでは、次のようなことができます:(<a href="{{ Request::referrer() }}">Back</a>
ブレードを使用していると仮定します)。
Laravel 4
{{ URL::previous() }}
Laravel 5+
{{ url()->previous() }}
URL::previous()
代わりに使用してください。
私はこれが古い質問であることを知っていますが、同じ解決策を探しているときにそれを見つけました。上記のソリューションはLaravel4では機能しないようですが、今すぐ使用できます。
<a href="{{ URL::previous() }}">Go Back</a>
これがL4でこの機能を探している人々に役立つことを願っています
Laravel 5.2以降、戻るボタン
<a href="{{ url()->previous() }}" class="btn btn-default">Back</a>
実際にdoworkを使用{{ URL:previous() }}
していますが、同じ名前のルートを使用して複数のビューを表示している場合は、このルートの最初のエンドポイントに戻ります。
私の場合、ユーザーが選択したパラメーターに基づいて3つの異なるビューをレンダリングできる名前付きルートがあります。もちろん、ユーザーがまだオプションを選択していない場合、このルートの最初の入力にはデフォルトのケースがあります。
を使用するURL:previous()
と、ユーザーが他のオプションを選択した場合でも、Laravelはデフォルトのビューに戻ります。ボタン内でJavaScriptを使用するだけで、正しいビューに戻ることができました。
<a href="javascript:history.back()" class="btn btn-default">Voltar</a>
明確にするために、これをLaravel5.3でテストしました。
以下は、完全なBlade(Laravelが使用するテンプレートエンジン)ソリューションです。
{!! link_to(URL::previous(), 'Cancel', ['class' => 'btn btn-default']) !!}
クラスのoptions配列はオプションであり、この場合、Bootstrap3ボタンのスタイルを指定します。
5.1では、これを機能させることしかできませんでした。
<a href="{{ URL::previous() }}" class="btn btn-default">Back</a>
以下のいずれかが問題を解決します
URL::previous()
URL::back()
その他
URL::current()
この問題にはjavascriptを使用できます。ブラウザの履歴からリンクを取得します。
<script>
function goBack() {
window.history.back();
}
</script>
<button onclick="goBack()">Go Back</button>
{{URL :: previous()}}を使用できますが、完全なUXではありません。
たとえば、F5ボタンを押して、もう一度クリックして{{URL :: previous()}}の[戻る]ボタンを押すと、そのままになります。
良い方法は、{{route( 'page.edit'、$ item-> id)}}を使用することです。リダイレクトしたいのは常に真のページです。
<a href="{{ url()->previous() }}" class="btn btn-warning"><i class="fa fa-angle-left"></i> Continue Shopping</a>
これはLaravel5.8で機能しました
{{ url()->previous() }}
Laravel 5中