[GSCP] 検索結果の各件のリンクをタイトルやサムネイル画像だけでなく、各件全体にしたい

変更日 金, 16 10月 で 5:04 午後

フック関数の allUpdateHook を利用することで実現可能です。

https://docs.geniee-search.net/popfind/sitesearch/advanced/#advanced_hook

https://docs.geniee-search.net/popfind/sitesearch/reference/hook/#_8


allUpdateHook のマニュアルは次のURLからご参照いただけます。

https://docs.geniee-search.net/popfind/sitesearch/reference/hook/#allupdatehook


下記関数はサポート範囲外ですのでお問い合わせはご遠慮いただきたく存じますが、

ご参考いただければ幸いです。


  allUpdateHook: function() {
    // 検索結果の各アイテム要素(._item)を取得
    var items = document.querySelectorAll('._item');

    items.forEach(function(item) {
      // アイテム内のタイトルリンク、または最初のリンク要素を取得
      var linkElem = item.querySelector('._title a') || item.querySelector('a');
      if (!linkElem) return;

      var targetUrl = linkElem.getAttribute('href');
      var targetAttr = linkElem.getAttribute('target');

      // マウスオーバー時にポインター(指マーク)を表示
      item.style.cursor = 'pointer';

      // アイテム全体のクリックイベントを設定
      item.onclick = function(e) {
        // すでに <a> タグ自体をクリックした場合は二重遷移を防ぐため処理を抜ける
        if (e.target.closest('a')) {
          return;
        }

        // Ctrlキー/Cmdキー押下時、またはリンクが別タブ指定(target="_blank")の場合
        if (e.ctrlKey || e.metaKey || targetAttr === '_blank') {
          window.open(targetUrl, '_blank');
        } else {
          window.location.href = targetUrl;
        }
      };
    });
  },

この記事は役に立ちましたか?

それは素晴らしい!

フィードバックありがとうございます

お役に立てず申し訳ございません!

フィードバックありがとうございます

この記事に改善できることがあれば教えてください。

少なくとも一つの理由を選択してください
CAPTCHA認証が必要です。

フィードバックを送信しました

記事の改善におけるご協力ありがとうございます。