User:Alexis Jazz/SkinEnforcer

From Wikipedia, the free encyclopedia
SkinEnforcer
DescriptionAllows anons to switch skins, makes ?useskin= stick, allows using alternative skins with MobileFrontend
Author(s)Alexis Jazz
UpdatedOctober 9, 2022; 18 months ago (2022-10-09)
Skin supportall (but kinda sucky on logged-out mobile)
SourceUser:Alexis Jazz/SkinEnforcer.js

SkinEnforcer allows anons (visitors who aren't logged in) to switch skins. For logged-in users, it makes ?useskin= stick and allows exploring different skins on MobileFrontend. (Vector with MobileFrontend's collapsible sections actually works!)

Combines well with AnonLoader.

This script is fairly likely to break some other scripts. The following links are not affected by SkinEnforcer:

  • External links
  • Links without any href
  • Links with only an anchor
  • Links that contain "veaction="
  • Anything with one of the following IDs:
    • user-notifications
    • ca-edit (only on Minerva)
    • ca-watch
    • page-actions-overflow-toggle
  • Anything with one the following classes:
    • oo-ui-buttonElement-button
    • mw-ui-button
    • minerva-talk-add-button
    • language-selector
    • eventonly (made this one up so other affected scripts can use it to avoid getting broken by SkinForcer)