לדלג לתוכן

משתמש:איסתרק/מעבר לערך.js

מתוך המכלול, האנציקלופדיה היהודית

לתשומת ליבך: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.

  • פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
  • גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
  • אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
let d = document;
let koteret = d.getElementById("firstHeading")?.innerText;
if (koteret.includes("נושא בדף שיח")) {
  kaftorim();
}

function kaftorim() {
  let erech = koteret
    .replace("נושא בדף שיחה:", "")
    .replace("נושא בדף שיחת", "");
  let sicha = koteret.replace("נושא בדף ", "");
  let kituv_erech;
  let kituv_sicha;
  if (koteret.includes("שיחה:")) {
    kituv_erech = "ערך";
    kituv_sicha = "שיחה";
  } else {
    kituv_erech = "דף משתמש";
    kituv_sicha = "שיחת משתמש";
  }
  // העתקת כפתור הנושא לפני מחיקתו
  let nose = document.getElementById("ca-nstab-topic").outerHTML;
  // מחיקת כפתור נושא והקישור לשיחה שמתחת הכפתורים
  d.getElementById("ca-nstab-topic").remove();
  d.getElementById("contentSub").remove();
  // יצירת כפתורי ערך ושיחה
  $(mw.util.addPortletLink("p-namespaces", "//www.hamichlol.org.il/" + erech, kituv_erech, "ca-nstab-user", null, kituv_erech));
  $(mw.util.addPortletLink("p-namespaces", "//www.hamichlol.org.il/" + sicha, kituv_sicha, "ca-talk", null, kituv_sicha));
  // החזרת כפתור נושא
  d.querySelector("#p-namespaces > div > ul").innerHTML += nose;
  
  // בדיקה אם הערך קיים, אחרת יואדם הקישור
  const api = new mw.Api();
  api
    .get({
      action: "query",
      titles: erech,
    })
    .done((data) => {
      if (Object.keys(data.query.pages)[0] == -1) {
        let element = d.querySelector("#p-namespaces > div > ul > li:nth-child(1)");
        element.classList.add("new");
        element.setAttribute("title", `${erech} (הדף אינו קיים)`);
      }
    });
}