← Alle Beispiele

JavaScript Produktivität arxiv.org

arXiv: Paper als gelesen markieren

Speichert die Paper-ID lokal, sobald du einen PDF-Link klickst, und blendet die Einträge in Listen ab.

Code zum Kopieren

// Mark papers as "read" once you click their PDF link, dim them in listings
(function () {
  var KEY = 'jzArxReadIds';
  function load() {
    try { return JSON.parse(localStorage.getItem(KEY) || '{}') || {}; }
    catch (e) { return {}; }
  }
  function save(map) { localStorage.setItem(KEY, JSON.stringify(map)); }
  function markId(id) {
    if (!id) { return; }
    var m = load(); m[id] = Date.now(); save(m);
    apply();
  }
  function extractId(href) {
    var m = href.match(/\/(?:abs|pdf)\/([\w.\-\/]+?)(?:v\d+)?(?:\.pdf)?$/);
    return m ? m[1] : null;
  }
  document.addEventListener('click', function (e) {
    var a = e.target.closest('a[href*="/pdf/"], a[href$=".pdf"]');
    if (!a) { return; }
    markId(extractId(a.getAttribute('href') || ''));
  }, true);
  function apply() {
    var read = load();
    document.querySelectorAll('a[href*="/abs/"]').forEach(function (a) {
      var id = extractId(a.getAttribute('href') || '');
      if (!id || !read[id]) { return; }
      var row = a.closest('dt, li, tr, .arxiv-result') || a.parentElement;
      if (row && !row.dataset.jzArxRead) {
        row.dataset.jzArxRead = '1';
        row.style.opacity = '0.55';
        row.style.filter = 'grayscale(0.5)';
        var tag = document.createElement('span');
        tag.textContent = ' ✓ read';
        tag.style.cssText = 'color:#0a7c3a;font-weight:700;font-size:12px;margin-left:6px;';
        a.appendChild(tag);
      }
    });
  }
  apply();
  new MutationObserver(function () {
    clearTimeout(window.__jzArxRead);
    window.__jzArxRead = setTimeout(apply, 400);
  }).observe(document.body, { childList: true, subtree: true });
})();

So verwendest du dieses Beispiel

  1. Kopiere den Code mit der Schaltfläche oben.
  2. Installiere JustZix (2 Minuten) und öffne die Erweiterung auf der Zielseite.
  3. Füge eine neue Regel hinzu, die zu dieser Seite passt.
  4. Füge den Code in das JavaScript-Panel der Regel ein und speichere — er läuft bei jedem Seitenbesuch.

Bewerte dieses Beispiel

Noch keine Bewertungen — sei der Erste.

Funktioniert dieses Beispiel?

Snippets sind nutzlos, wenn du sie nirgendwo einfügen kannst.

JustZix ist in 2 Minuten installiert und führt deinen Code auf jeder passenden Seite aus. Kein Konto, keine Zahlung.

Kostenlos herunterladen Anwendungsfälle ansehen