← Все примеры

JavaScript Продуктивность scholar.google.com

Scholar: кнопка «Открыть PDF» у каждого результата

Извлекает ссылку на полный PDF справа от результата и добавляет заметную кнопку рядом с заголовком.

Код для копирования

// Promote the right-side PDF link into a prominent "Open PDF" button on each result
(function () {
  function decorate() {
    document.querySelectorAll('div.gs_r.gs_or.gs_scl, div.gs_or').forEach(function (row) {
      if (row.dataset.jzSchPdf) { return; }
      var pdfLink = row.querySelector('div.gs_ggsd a[href$=".pdf"], div.gs_or_ggsm a[href$=".pdf"], a.gs_or_ggsm[href$=".pdf"]');
      if (!pdfLink) {
        pdfLink = Array.from(row.querySelectorAll('a')).find(function (a) {
          return /\.pdf(\?|$)/i.test(a.getAttribute('href') || '');
        });
      }
      if (!pdfLink) { return; }
      var title = row.querySelector('h3.gs_rt');
      if (!title) { return; }
      row.dataset.jzSchPdf = '1';
      var btn = document.createElement('a');
      btn.href = pdfLink.href;
      btn.target = '_blank';
      btn.rel = 'noopener noreferrer';
      btn.textContent = 'Open PDF';
      btn.style.cssText = 'display:inline-block;margin-left:10px;padding:2px 10px;background:#0a7c3a;color:#fff;font-size:13px;font-weight:700;text-decoration:none;border-radius:4px;vertical-align:middle;';
      title.appendChild(btn);
    });
  }
  decorate();
  new MutationObserver(function () {
    clearTimeout(window.__jzSchPdf);
    window.__jzSchPdf = setTimeout(decorate, 350);
  }).observe(document.body, { childList: true, subtree: true });
})();

Как использовать этот пример

  1. Скопируй код кнопкой выше.
  2. Установи JustZix (2 минуты) и открой расширение на нужной странице.
  3. Добавь новое правило, совпадающее с этой страницей.
  4. Вставь код в панель JavaScript правила и сохрани — он запускается при каждом заходе на страницу.

Оцени этот пример

Оценок пока нет — оцени первым.

Этот пример работает?

Сниппеты бесполезны, если их некуда вставить.

JustZix устанавливается за 2 минуты и запускает твой код на каждой подходящей странице. Без аккаунта, без оплаты.

Скачать бесплатно Смотреть применение