Jump to content

MediaWiki:FR2014/Resources/ShowHideCheckFullscreen.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* MediaWiki:FR2014/Resources/ShowHideCheckFullscreen.js
 * Decide whether to show banner, based on if they saw a "fullscreen"
 * one already.
 *
 * If we do show one, then set a cookie to remember it.
 */

(function(mw) {

    mw.loader.using(['mediawiki.util']).then(function() {

        // See https://stackoverflow.com/questions/6125330/javascript-navigator-cookieenabled-browser-compatibility#15582757
        var cookiesEnabled = ('cookie' in document && (document.cookie.length > 0 || (document.cookie = 'test').indexOf.call(document.cookie, 'test') > -1));
        var forced = mw.util.getParamValue('force');

        if ( cookiesEnabled ) {

            if ( $.cookie('centralnotice-frbanner-seen-fullscreen') && !forced ) {
                // Already seen a "fullscreen" banner, so hide this one (unless forced)
                mw.centralNotice.bannerData.hideResult = true;
                mw.centralNotice.bannerData.hideReason = 'seen-fullscreen';
            } else {
                mw.centralNotice.bannerData.hideResult = false;
                // And set a cookie to remember they saw a fullscreen
                $.cookie('centralnotice-frbanner-seen-fullscreen', Date.now(), {expires: 250});
            }

        } else {
            mw.centralNotice.bannerData.hideResult = true;
            mw.centralNotice.bannerData.hideReason = 'cookies-disabled';
        }

    });

})(mediaWiki);