您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
Amazon.co.jpの商品ページに固定URL、サクラチェッカー、keepaなどのリンクを追加します
当前为
// ==UserScript== // @name Amazon.co.jpの商品ページに各種リンク追加 // @namespace https://www.amazon.co.jp/dp/ // @version 1.6 // @description Amazon.co.jpの商品ページに固定URL、サクラチェッカー、keepaなどのリンクを追加します // @match https://www.amazon.co.jp/dp/* // @match https://www.amazon.co.jp/*/dp/* // @match https://www.amazon.co.jp/gp/product/* // @match https://www.amazon.co.jp/*/ASIN/* // @match https://www.amazon.co.jp/product-reviews/* // @match https://www.amazon.co.jp/*/product-reviews/* // @grant GM_addStyle // @license MIT // @author nanashi <[email protected]> // ==/UserScript== (() => { "use strict"; // フレーム内(iframeなど)なら終了 if(window != window.parent) return; // 外部リンクのアイコンをスタイルシートで設定(クラス名は衝突を避けるためにわざとダサくしてる) GM_addStyle( ".gaiburinku::after{" + " content: url(\'data:image/gif;base64,R0lGODlhDAAMAIABADMzM////yH5BAEAAAEALAAAAAAMAAwAAAIajB+gmgvnookPrVYnw3Dr/nnWI4JlSDlaahQA\');" + " opacity: 0.7;" + " margin-left: 2px;" + "}" ); // 追加するメイン関数 const mainFunction = () => { // すでに追加済みなら終了 if(document.getElementById("various_links")) return; // ASIN取得 let asin = null; let element_asin = document.getElementById("ASIN"); if(element_asin){ let t = String(element_asin.getAttribute("value")).match(/[0-9A-Za-z]{10}/); if(t) asin = t[0]; } if(!asin){ let t = location.href.match(/\/(dp|gp\/product|product-reviews|ASIN)\/([0-9A-Za-z]{10})/); if(t) asin = t[2]; } if(!asin) return; // 追加先取得 let element_buybox = document.getElementById("buybox"); if(!element_buybox) element_buybox = document.getElementById("cm_cr-buy_box"); if(!element_buybox) return; // 追加要素作成 const div_outer = document.createElement("div"); div_outer.id = "various_links"; div_outer.style.marginTop = "0.5em"; div_outer.style.textAlign = "left"; // 固定URL const div_fix = document.createElement("div"); const a_fix = document.createElement("a"); a_fix.setAttribute("href", "https://www.amazon.co.jp/dp/" + asin + "/"); a_fix.textContent = "固定URL"; div_fix.appendChild(a_fix); div_outer.appendChild(div_fix); // 販売元Amazon.co.jpを優先(固定URLにsmid=AN1VRQENFRJN5を付けたもの) const div_fix_amazon = document.createElement("div"); const a_fix_amazon = document.createElement("a"); a_fix_amazon.setAttribute("href", "https://www.amazon.co.jp/dp/" + asin + "/?smid=AN1VRQENFRJN5"); a_fix_amazon.textContent = "商品URL(販売Amazon優先)"; div_fix_amazon.appendChild(a_fix_amazon); div_outer.appendChild(div_fix_amazon); // サクラチェッカー const div_sakura = document.createElement("div"); const a_sakura = document.createElement("a"); a_sakura.setAttribute("href", "https://sakura-checker.jp/search/" + asin + "/"); a_sakura.setAttribute("target", "_blank"); a_sakura.setAttribute("class", "gaiburinku"); a_sakura.textContent = "サクラチェッカーで検索"; div_sakura.appendChild(a_sakura); div_outer.appendChild(div_sakura); // keepa const div_keepa = document.createElement("div"); const a_keepa = document.createElement("a"); a_keepa.setAttribute("href", "https://keepa.com/#!product/5-" + asin); a_keepa.setAttribute("target", "_blank"); a_keepa.setAttribute("class", "gaiburinku"); a_keepa.textContent = "keepaで検索"; div_keepa.appendChild(a_keepa); div_outer.appendChild(div_keepa); // 作成した要素を追加 element_buybox.parentNode.insertBefore(div_outer, element_buybox.nextElementSibling); }; // 動的更新の監視対象 let desktop_buybox = null; const buyboxidlist = ["dsv_buybox_desktop", "desktop_buybox_feature_div", "desktop_buybox", "combinedBuyBox"]; for( let i=0; i < buyboxidlist.length; i++ ){ desktop_buybox = document.getElementById(buyboxidlist[i]); if( desktop_buybox ) break; } if(desktop_buybox){ (new MutationObserver(mainFunction)).observe(desktop_buybox, {childList:true}); } // 初回実行 mainFunction(); })();