MediaWiki:Gadget-DynamicBackground.js

来自乐园数据管理室

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
  • Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
function ModifySidebar(action, section, name, link, onclickFunc) {
  switch (section) {
    case 'languages':
      var target = 'p-lang';
      break;
    case 'toolbox':
      var target = 'p-tb';
      break;
    case 'navigation':
      var target = 'p-navigation';
      break;
    default:
      var target = 'p-' + section;
      break;
  }

  if (action === 'add') {
    var aNode = jQuery('<a>').text(name).attr('href', link).click(onclickFunc);
    var liNode = jQuery('<li>').append(aNode);
    jQuery('#' + target + ' div ul').append(liNode);
  }

  if (action === 'remove') {
    jQuery('#' + target + ' div ul li').filter(function (index, element) {
      element = jQuery(element)
      return element.text() === name || element.children().attr('href') === link
    }).remove()

  }
}

function loadBackground() {
  if (localStorage.getItem('gifbg') === null) {
    localStorage.setItem('gifbg', '0')
  }
  if (localStorage.getItem('gifbg') === '1') {
    ModifySidebar('remove', 'toolbox', '开启动态背景');
    ModifySidebar('add', 'toolbox', '关闭动态背景', '', toggleDynamicBackground);
    jQuery('body').css('background-image', 'url(/skins/Timeless/resources/images/bg-pattern-gray-diamond.gif)');
  } else if (localStorage.getItem('gifbg') === '0') {
    ModifySidebar('remove', 'toolbox', '关闭动态背景');
    ModifySidebar('add', 'toolbox', '开启动态背景', '', toggleDynamicBackground);
    jQuery('body').css('background-image', 'url(/skins/Timeless/resources/images/bg_new.jpg)');
  }
}

function toggleDynamicBackground(event) {
  event.preventDefault();
  if (localStorage.getItem('gifbg') === '1') {
    // disable
    localStorage.setItem('gifbg', '0')
  } else if (localStorage.getItem('gifbg') === '0') {
    // enable
    localStorage.setItem('gifbg', '1')
  }
  loadBackground()
}

loadBackground()