The enflow/laravel-outdated-browser
package provides an easy way to warn your users about an outdated browser.
The user is presented with a full-screen page to encourage them to upgrade to a modern browser. They may skip this message and continue to view the website in their (crappy) browser.
You can install the package via composer:
composer require enflow/laravel-outdated-browser
You should add the \Enflow\OutdatedBrowser\OutdatedBrowserMiddleware
class to your App\Http\Kernel
file.
Add it to the bottom of the web
group:
'web' => [
...,
\Enflow\OutdatedBrowser\OutdatedBrowserMiddleware::class,
],
Pushing the config file by running:
php artisan vendor:publish --provider="Enflow\OutdatedBrowser\OutdatedBrowserServiceProvider" --tag=config
A detector class can be specified via the config file, which should implement the Enflow\OutdatedBrowser\Detector\Detector
interface.
This class is responsible for determining if the user should be presented with an outdated browser message.
By default, the UserAgentDetector
is used, which searches for the outdated-browser.blocked_user_agent_regexes
key for regexes to match the user agent against.
For the UserAgentDetector
, all users with Internet Explorer are presented with the gate. You may change the regexes to your need.
A memory class can be specified via the config file, which should implement the Enflow\OutdatedBrowser\Memory\Memory
interface.
This class is responsible for checking if the user continued through the gate, and responsible for saving when the user pressed 'Proceed'.
A inspector class can be specified via the config file, which should implement the Enflow\OutdatedBrowser\Inspector\Inspector
interface.
This class is responsible for checking the request and determining if now is the right time to show the 'outdated browser' gate. By default, the FirstUserRequest
inspector is used, which will show the gate on the first GET request, excluding AJAX requests.
You may publish the gate
view to overrule it's styling and make it your own:
php artisan vendor:publish --provider="Enflow\OutdatedBrowser\OutdatedBrowserServiceProvider" --tag=views
$ composer test
Please see CONTRIBUTING for details.
If you discover any security related issues, please email michel@enflow.nl instead of using the issue tracker.
Enflow is a digital creative agency based in Alphen aan den Rijn, Netherlands. We specialize in developing web applications, mobile applications and websites. You can find more info on our website.
The MIT License (MIT). Please see License File for more information.