MediaWiki:Common.js: відмінності між версіями

Back-лінк ← Назад на звичайних внутрішніх сторінках
(Hero: кикер ← Країна над заголовком міста (back-навігація))
(Back-лінк ← Назад на звичайних внутрішніх сторінках)
Рядок 122: Рядок 122:
     }
     }
   }
   }
});
// «← Назад» на звичайних внутрішніх сторінках (не головна, не міста, не
// службові). Повертає в історію браузера; якщо зайшли ззовні — на головну
// (беремо href лого). Гейт по cityHero, щоб не було гонки з page-has-hero.
$(function () {
  if (mw.config.get("wgNamespaceNumber") !== 0) return;
  if (mw.config.get("wgIsMainPage")) return;
  if (mw.config.get("wgAction") !== "view") return;
  if (cityHero[mw.config.get("wgPageName") || ""]) return;
  var heading = document.querySelector(".mw-first-heading, .firstHeading, #firstHeading");
  if (!heading || document.querySelector(".page-back-link")) return;
  var logo = document.querySelector(".mw-logo, .mw-logo-link, #p-logo a, .branding-box a");
  var fallback = (logo && logo.getAttribute("href")) || "/";
  var back = document.createElement("a");
  back.className = "page-back-link";
  back.href = fallback;
  back.textContent = "\u2190 Назад";
  back.addEventListener("click", function (e) {
    var ref = document.referrer || "";
    if (ref.indexOf(location.origin) === 0 && history.length > 1) {
      e.preventDefault();
      history.back();
    }
  });
  heading.parentNode.insertBefore(back, heading);
});
});