From 0a843a0b1f37bc317d94a3c1e5e021bc95b7111a Mon Sep 17 00:00:00 2001 From: Lars Jung Date: Sat, 16 May 2015 21:36:05 +0200 Subject: [PATCH] Refactor browser check. --- src/_h5ai/backend/php/pages/page.tpl.jade | 39 ++++++++++----------- src/_h5ai/public/css/inc/view/fallback.less | 9 ++--- src/_h5ai/public/css/inc/view/sidebar.less | 3 +- src/_h5ai/public/js/inc/boot.js | 4 --- src/_h5ai/public/js/scripts.js | 13 +++++++ 5 files changed, 38 insertions(+), 30 deletions(-) diff --git a/src/_h5ai/backend/php/pages/page.tpl.jade b/src/_h5ai/backend/php/pages/page.tpl.jade index 3f37e5aa..ffc523b9 100644 --- a/src/_h5ai/backend/php/pages/page.tpl.jade +++ b/src/_h5ai/backend/php/pages/page.tpl.jade @@ -2,28 +2,25 @@ block init doctype html - - +html(class='no-js', lang='en') -head - meta(charset='utf-8') - meta(http-equiv='x-ua-compatible', content='ie=edge') - title #{title} - meta(name='description', content='#{title}') - meta(name='viewport', content='width=device-width, initial-scale=1') - link(rel='shortcut icon', href!='images/favicon/favicon-16-32.ico') - link(rel='apple-touch-icon-precomposed', type='image/png', href!='images/favicon/favicon-152.png') - link(rel='stylesheet', href!='css/styles.css') - script(src!='js/scripts.js', data-module='#{module}') - + head + meta(charset='utf-8') + meta(http-equiv='x-ua-compatible', content='ie=edge') + title #{title} + meta(name='description', content='#{title}') + meta(name='viewport', content='width=device-width, initial-scale=1') + link(rel='shortcut icon', href!='images/favicon/favicon-16-32.ico') + link(rel='apple-touch-icon-precomposed', type='image/png', href!='images/favicon/favicon-152.png') + link(rel='stylesheet', href!='css/styles.css') + script(src!='js/scripts.js', data-module='#{module}') + -body#root(class='#{module}') + body#root(class='#{module}') - div#fallback-hints - span.noJsMsg Works best with JavaScript enabled! - span.noBrowserMsg Works best in #[a(href='http://browsehappy.com') modern browsers]! - span.backlink #[a(href='#{pkg.homepage}', title='#{pkg.name} v#{pkg.version} - #{pkg.description}') powered by #{pkg.name}] + div#fallback-hints + span.noJsMsg Works best with JavaScript enabled! + span.noBrowserMsg Works best in #[a(href='http://browsehappy.com') modern browsers]! + span.backlink #[a(href='#{pkg.homepage}', title='#{pkg.name} v#{pkg.version} - #{pkg.description}') powered by #{pkg.name}] - block body - - + block body diff --git a/src/_h5ai/public/css/inc/view/fallback.less b/src/_h5ai/public/css/inc/view/fallback.less index 01806622..2467ea13 100644 --- a/src/_h5ai/public/css/inc/view/fallback.less +++ b/src/_h5ai/public/css/inc/view/fallback.less @@ -88,6 +88,7 @@ } .noJsMsg, .noBrowserMsg { + display: none; margin: 0 16px; color: @col-error; } @@ -104,10 +105,10 @@ html.no-js, html.no-browser { } } -html.js .noJsMsg { - display: none; +html.no-js .noJsMsg { + display: inline !important; } -html.browser .noBrowserMsg { - display: none; +html.no-browser .noBrowserMsg { + display: inline !important; } diff --git a/src/_h5ai/public/css/inc/view/sidebar.less b/src/_h5ai/public/css/inc/view/sidebar.less index b0b27c29..7eb82ff5 100644 --- a/src/_h5ai/public/css/inc/view/sidebar.less +++ b/src/_h5ai/public/css/inc/view/sidebar.less @@ -1,6 +1,7 @@ #sidebar { display: none; - overflow: auto; + overflow-x: hidden; + overflow-y: auto; flex: 0 0 auto; order: 0; background: @col-back-panel; diff --git a/src/_h5ai/public/js/inc/boot.js b/src/_h5ai/public/js/inc/boot.js index 9a8ace36..ce53e972 100644 --- a/src/_h5ai/public/js/inc/boot.js +++ b/src/_h5ai/public/js/inc/boot.js @@ -1,9 +1,5 @@ modulejs.define('boot', ['$', 'core/server'], function ($, server) { - if ($('html').hasClass('no-browser')) { - return; - } - var module = $('script[data-module]').data('module'); var data = {action: 'get', setup: true, options: true, types: true}; diff --git a/src/_h5ai/public/js/scripts.js b/src/_h5ai/public/js/scripts.js index e1b8b4a4..0fee1865 100644 --- a/src/_h5ai/public/js/scripts.js +++ b/src/_h5ai/public/js/scripts.js @@ -1,3 +1,14 @@ +(function () { + +if (function () { + var div = document.createElement('div'); + div.innerHTML = ''; + return div.getElementsByTagName('br').length; +}()) { + document.documentElement.className = 'js no-browser'; + return; +} + // @include "lib/modernizr-*.js" // @include "lib/jquery-*.js" // @include "lib/jquery.*.js" @@ -20,3 +31,5 @@ modulejs.require('boot'); }()); + +}());