Skip to content

Rack middleware for redirecting unsupported browser requests to "please upgrade" page

Notifications You must be signed in to change notification settings

napazone/browsernizer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Browsernizer

Want friendly "please upgrade your browser" page? This gem is for you.

You can redirect your visitors to any page you like (static or dynamic). Just specify config.location option in initializer file.

Installation

Add following line to your Gemfile:

gem 'browsernizer'

Hook it up:

rails generate browsernizer:install

Configure browser support in config/initializers/browsernizer.rb file.

Configuration

Initializer file is pretty self explanatory. Here is the default one:

Rails.application.config.middleware.use Browsernizer::Router do |config|
  config.supported "Internet Explorer", "9"
  config.supported "Firefox", "4"
  config.supported "Opera", "11.1"
  config.supported "Chrome", "7"
  config.location  "/browser.html"
end

It states that IE9+, FF4+, Opera 11.1+ and Chrome 7+ are supported. Non listed browsers are considered to be supported regardless of their version. Unsupported browsers will be redirected to /browser.html page.

If you wish to completely prevent some browsers from accessing website (regardless of their version), for now you can specify some really high version number (e.g. "666").

Specifying location is optional. If you prefer handling unsupported browsers on your own, you can access browsernizer info from request.env['browsernizer'] within your controller.

For example, you can set before filter to display flash notice:

before_filter :check_browser_support

def check_browser_support
  unless request.env['browsernizer']['supported']
    flash.notice = "Your browser is not supported"
  end
end

You can also access browser and version variables from this env hash.

Browsers

You should specify browser name as a string. Here are the available options:

  • Chrome
  • Firefox
  • Safari
  • Opera
  • Internet Explorer

And some less popular:

  • Android
  • webOS
  • BlackBerry
  • Symbian
  • Camino
  • Iceweasel
  • Seamonkey

Browser detection is done using useragent gem.

Credits and License

Developed by Milovan Zogovic.

I don't believe in licenses and other legal crap. Do whatever you want with this :)

About

Rack middleware for redirecting unsupported browser requests to "please upgrade" page

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 100.0%