A mazonの商品ページのリンク

「Amazon Item_URL」は「Amazonの各種ページ」の短縮リンクを生成するツールで、生成したリンクは色々な場面で利用できます。

 

「Amazon Item_URL」は利用可能な画面が大変に拡く、高機能です。 コードの主要部は、以下のページを参照ください。

 

 

私は Amazonのリンクを作る際に必ず使うのですが、これまでのパネルの配置を改善して画面の隅にするため、閉じる「✖」ボタンを追加しました。 少し使い良いかも。 使い方はすぐ判る簡単なものですが、この機会に纏め直します。

 

 

 

「Amazon Item_URL」の使い方 

Amazonのサイトの画面の左上隅に「ロゴ」が表示されますが、このツールはこれをスイッチにしています。

 

 

画面を開いて数秒で、ロゴマークに「赤枠」が表示されます。 これは URL情報が取得する用意が出来たことを示しています。

 

 

赤枠」のロゴマークを「左Click」すると、ツールパネルが表示されます。

 

 

ツールが取得した短縮URLの内容の表示です。 (編集は出来ません)

 

Test」を「左Click」すると、左のURL先を別タブに開きます。

▪ 取得したURLが、同じ画面を開けるかをテストするボタンです。

 

Copy」を「左Click」すると、左のURLをクリップボードにコピーします。

▪ 確認のためにボタンが 1secだけ「copied」の表示になります。

 

」を「左Click」すると、このパネルを閉じます。

 

 

単品商品以外のリンク  

単品商品のページの「URL」は、通常は短縮化が可能です。 しかし例えば、あるキーワードでの検索結果ページのリンクなどは、短縮化は部分的に可能だったり、全くできない場合もあります。 下のURLは全く短縮できないタイプの例です。

 

 

下は単品商品ではない「セール」の特設ページですが、短縮化が可能な場合と判断して「短縮化URL」を生成しています。

 

 

 

その他 

▪ 短縮化URLは、それを必要とする画面にペーストして使います。

 

▪「短縮URL」が不要な時は、「赤枠」の表示は無視してください。 

 

▪ スタンバイになる以前に「ロゴマーク」を「左Click」した場合は、本来の操作となって、現在の画面が「Amazonトップ」へ移動してしまいます。

 

▪「赤枠」の表示後に「Amazonトップ」に移動したい場合は、「ロゴマーク」を「Ctrl+左Click」もしくは「Shift+左Click」してください。

 

▪ このツールは常駐型のツールです。 インストール後は「Tampermonkey」のダッシュボードで常時ONにしておくと、Amazonのサイトを表示した時のみ起動します。

 

 

 

「Amazon Item_URL」を利用するには

このツールは Chrome / Edge / Firefox版の拡張機能「Tampermonkey」上で動作します。  以下に、このツールの導入手順を簡単に説明します。

 

❶「Tampermonkey」を導入します

◎ 使用しているブラウザに拡張機能「Tampermonkey」を導入する事が必要です。

既に「Tampermonkey」を導入している場合は、この手順 ❶ は不要です。 

拡張機能の導入については、以下のページに簡単な説明があるので参照ください。

 

 

❷「Tampermonkey」にスクリプトを登録します

◎「Tampermonkey」の「」マークの「新規スクリプト」タブを開きます。

 

 

 

◎「新規スクリプト」には、最初からテンプレートが記入されています。 これは全て削除して、完全に空白の編集枠に 下のコードをコピー&ペーストします。

 

〔コピー方法〕 軽量シンプルなツール「PreBox Button   」を使うと

  コード枠内を「Ctrl+左Click」➔「Copy code 」を「左Click」

  の操作で、掲載コードのコピーが可能になります。

 

◎ 最後に「ファイル」メニューの「保存」を押すと、ツールが使用可能になります。

 

 

〔 Amazon Item_URL 〕 ver. 0.3

 

// ==UserScript==
// @name         Amazon Item_URL
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  アマゾンの商品ページのURLを短縮
// @author       You
// @match        https://www.amazon.co.jp/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=amazon.co.jp
// @grant        none
// ==/UserScript==


let panel_disp=0; // パネルの表示フラグ



let retry=0;
let interval=setInterval(wait_target, 20);
function wait_target(){
    retry++;
    if(retry>20){ // リトライ制限 20回 0.4secまで
        clearInterval(interval); }
    let target=document.body; // 監視 target
    if(target){
        clearInterval(interval);
        env(); }}


function env(){

    let panel=
        '<div id="tr_panel">'+
        '<div id="tr_url"></div>'+
        '<button id="tr_test">Test</button>'+
        '<button id="tr_copy">Copy</button>'+
        '<button id="tr_close">✖</button>'+
        '</div>'+
        '<style>#tr_panel { position: fixed; top: 0px; left: 0; z-index: 5000; '+
        'font: normal 16px/24px Meiryo; padding: 14px 20px 12px; '+
        'background: #fff; border: 1px solid #aaa; align-items: center; display: none; } '+
        '#tr_url { padding: 4px 15px 2px; border: 1px solid #aaa; '+
        'max-width: 80vw; word-break: break-word;} '+
        '#tr_test, #tr_copy, #tr_close { margin-left: 15px; padding: 2px 10px 0; height: 32px; '+
        'border: 1px solid #aaa; background: linear-gradient(transparent, #c3e0ee); } '+
        '#tr_test:hover, #tr_copy:hover, #tr_close:hover { '+
        'background: linear-gradient(#c3e0ee, transparent ); } '+
        '</style>';

    if(!document.querySelector('#tr_panel')){
        document.body.insertAdjacentHTML('beforeend', panel); }}



window.addEventListener('load', function(){
    ready();

    let nav=document.querySelector('#nav-logo');
    if(nav){
        nav.onclick=function(event){
            if(!event.ctrlKey && !event.shiftKey){
                event.preventDefault();
                tr_short(); }}}});



function ready(){
    let nav_a=document.querySelector('#nav-logo a');
    if(nav_a){
        nav_a.style.outline="2px solid red"; }}



function tr_short(){
    let tr_panel=document.querySelector('#tr_panel');
    if(tr_panel){
        if(panel_disp==0){
            panel_disp=1;
            tr_panel.style.display='flex';
            query_cut(); }
        else{
            panel_disp=0;
            tr_panel.style.display='none'; }}}



function query_cut(){
    let url_input=document.querySelector('#tr_url');
    if(url_input){
        let def_url=location.href;
        let smart_url;
        let product;

        if(def_url.indexOf('www.amazon.co')==-1){ // Amazon以外
            smart_url=cut_after(def_url, '?'); }
        else{ // Amazonの場合
            if(def_url.indexOf('/b/')==-1 && def_url.indexOf('/b?')==-1 &&
               def_url.indexOf('/s/')==-1 && def_url.indexOf('/s?')==-1 &&
               cut_before(def_url, '?').indexOf('node=')==-1){
                if(def_url.indexOf('/gp/')!=-1){
                    product=cut_after(cut_before(cut_after(def_url, '?'), '/gp/'), '/ref=');
                    smart_url='https://www.amazon.co.jp'+ product; }
                else if(def_url.indexOf('/dp/')!=-1){
                    product=cut_after(cut_before(cut_after(def_url, '?'), '/dp/'), '/ref=');
                    smart_url='https://www.amazon.co.jp'+ product; }
                else{
                    smart_url=cut_after(def_url, '?'); }}
            else{
                smart_url=def_url; }}

        url_input.textContent=smart_url;

        test();
        copy();
        close(); }



    function cut_before(row, string){ // 前方を削除
        let rs;
        if(row.indexOf(string)!=-1){
            rs=row.substring(row.indexOf(string));
            return rs; }
        else{
            return row; }}

    function cut_after(row, string){ // 以降を削除
        let rs;
        if(row.indexOf(string)!=-1){
            rs=row.substring(0, row.indexOf(string));
            return rs; }
        else{
            return row; }}



    function test(){
        let tr_test=document.querySelector('#tr_test');
        if(tr_test){
            tr_test.onclick=function(){
                if(panel_disp==1){
                    let url_input=document.querySelector('#tr_url');
                    if(url_input.textContent){
                        window.open(url_input.textContent, '_blank'); }}}}}



    function copy(){
        let tr_copy=document.querySelector('#tr_copy');
        if(tr_copy){
            tr_copy.onclick=function(){
                if(panel_disp==1){
                    let url_input=document.querySelector('#tr_url');
                    if(url_input.textContent){
                        if (navigator.clipboard){ // copyToClipboardを実行
                            navigator.clipboard.writeText(url_input.textContent);
                            tr_copy.textContent='copied';
                            setTimeout(()=>{
                                tr_copy.textContent='Copy'; }, 1000); }}}}}}

    function close(){
        let tr_panel=document.querySelector('#tr_panel');
        let tr_close=document.querySelector('#tr_close');
        if(tr_panel && tr_close){
            tr_close.onclick=function(){
                panel_disp=0;
                tr_panel.style.display='none'; }}}

} // query_cut()




 

 

 

「Amazon Item_URL」最新版について 

旧いバージョンの JavaScriptツールは、Amazonサイトのページ構成の変更で動作しない場合があり、導入する場合は最新バージョンをお勧めします。

 

●「Amazon Item_URL」の最新バージョンへのリンクは、以下のページのリンクリストから探せます。