Hello, 我是 Weber,一位工程師,斜槓鼓手與行銷顧問。
今天是每日一套件的第 22 天,繼續跟著我一起認識 Rails 開發好用的 30 個套件,建立出自己的常用套件庫吧!
最近意外接觸到這個套件,還蠻有趣的。是個相對前端的套件,使用方式也很輕鬆簡單。
Browser 是一個用於測試使用者裝置、瀏覽器、版本資訊的套件,藉此來改善用戶的體驗。有助於優化網站、應用程式適應各種不同的瀏覽器和設備。如下:
起手式:
bundle add browser
使用 require "browser"
來引用這個 gem。
接著,創造一個瀏覽器實體
browser = Browser.new("Some User Agent", accept_language: "en-us")
可以在 view 中寫入
<% if browser.device.mobile? || browser.platform.android? %>
官方文件提供了非常多的方法可以使用,可以參考:
require "browser"
browser = Browser.new("Some User Agent", accept_language: "en-us")
# General info
browser.bot?
browser.chrome?
browser.chromium_based?
browser.core_media?
browser.duck_duck_go?
browser.edge? # Newest MS browser
browser.electron? # Electron Framework
browser.firefox?
browser.full_version
browser.ie?
browser.ie?(6) # detect specific IE version
browser.ie?([">8", "<10"]) # detect specific IE (IE9).
browser.known? # has the browser been successfully detected?
browser.unknown? # the browser wasn't detected.
browser.meta # an array with several attributes
browser.name # readable browser name
browser.nokia?
browser.opera?
browser.opera_mini?
browser.phantom_js?
browser.quicktime?
browser.safari?
browser.safari_webapp_mode?
browser.samsung_browser?
browser.to_s # the meta info joined by space
browser.uc_browser?
browser.version # major version number
browser.webkit?
browser.webkit_full_version
browser.yandex?
browser.wechat?
browser.qq?
browser.weibo?
browser.sputnik?
browser.sougou_browser?
# Get bot info
browser.bot.name
browser.bot.search_engine?
browser.bot?
browser.bot.why? # shows which matcher detected this user agent as a bot.
Browser::Bot.why?(ua)
# Get device info
browser.device
browser.device.id
browser.device.name
browser.device.unknown?
browser.device.blackberry_playbook?
browser.device.console?
browser.device.ipad?
browser.device.iphone?
browser.device.ipod_touch?
browser.device.kindle?
browser.device.kindle_fire?
browser.device.mobile?
browser.device.nintendo?
browser.device.playstation?
browser.device.ps3?
browser.device.ps4?
browser.device.psp?
browser.device.silk?
browser.device.surface?
browser.device.tablet?
browser.device.tv?
browser.device.vita?
browser.device.wii?
browser.device.wiiu?
browser.device.samsung?
browser.device.switch?
browser.device.xbox?
browser.device.xbox_360?
browser.device.xbox_one?
# Get platform info
browser.platform
browser.platform.id
browser.platform.name
browser.platform.version # e.g. 9 (for iOS9)
browser.platform.adobe_air?
browser.platform.android?
browser.platform.android?(4.2) # detect Android Jelly Bean 4.2
browser.platform.android_app? # detect webview in an Android app
browser.platform.android_webview? # alias for android_app?
browser.platform.blackberry?
browser.platform.blackberry?(10) # detect specific BlackBerry version
browser.platform.chrome_os?
browser.platform.firefox_os?
browser.platform.ios? # detect iOS
browser.platform.ios?(9) # detect specific iOS version
browser.platform.ios_app? # detect webview in an iOS app
browser.platform.ios_webview? # alias for ios_app?
browser.platform.linux?
browser.platform.mac?
browser.platform.unknown?
browser.platform.windows10?
browser.platform.windows7?
browser.platform.windows8?
browser.platform.windows8_1?
browser.platform.windows?
browser.platform.windows_mobile?
browser.platform.windows_phone?
browser.platform.windows_rt?
browser.platform.windows_touchscreen_desktop?
browser.platform.windows_vista?
browser.platform.windows_wow64?
browser.platform.windows_x64?
browser.platform.windows_x64_inclusive?
browser.platform.windows_xp?
browser.platform.kai_os?
算是簡單小巧的套件,可以蒐藏
我們明天見啦!