1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

取引ナビで追跡番号を知らせる。(ヤフオク個人出品者向け ブックマークレット)

Last updated at Posted at 2018-07-06

はじめに。

取引ナビで追跡番号や、追跡用のURLを「こっちでコピーして、こっちでペーストして」というのが、面倒になって作ったものです。

俺は そうやってると言うだけの話ですが、基本的にクリックポストのサイトやWEBゆうプリから追跡番号をコピーしてくることを想定して作っています。

promptもどき(表示される入力欄)に手入力しても特に問題はありません。

動作確認環境

Windows 10
Google Chrome 67

使い方。

まず、ヤフオクの取引ナビで落札者の名前を確認します。
次に、クリックポストWEBゆうプリのサイトから、その人の追跡番号をコピーしてきます。
取引ナビで [ 発送連絡をする ]ボタンをクリックします。

そこで、このブックマークレットを起動し、promptもどきに追跡番号を入力します。

数字を12桁入力した時点で、勝手に次に進みます。
(特定記録は11桁ですので、手動で[ OK ]をクリックする必要があります)

「追跡番号」と「配送状況確認ページURL」に自動で入力し[ 確認する ]ボタンも勝手に押されます。

このときに、「配送状況確認ページURL」に入力されたページをウィンドウで表示します。
(確認用で表示しているだけですので、これが鬱陶しい場合はコード内に書かれてある一行を削除して下さい)

ページ遷移後の[ 決定する ]ボタンは、自分で押して下さい。

コード。

特に難しいことはしていませんし、細かい説明はコードのコメントを読んでもらえれば分かるかと思います。


javascript:void(function(){

/* 発送連絡のページであることをチェック */

var url02 = location.href.substr(0,48);
if ((url02 != "https://contact.auctions.yahoo.co.jp/seller/edit" ) && (url02 != "https://contact.auctions.yahoo.co.jp/seller/subm" )) { 

    alert("「取引ナビ」の「発送連絡 入力」の画面で実行してください。");

} else {

    /* prompt もどき を表示 */

    var sc = document.scrollingElement.scrollTop; 

    var text = document.createElement("span");

    var prm = "追跡番号を入力して下さい。<br><br>(数字を12桁入力すると、勝手に次の画面へ進みます)<br><br>";
    prm += "<input type=text id=memo size=20 placeholder='追跡番号' value=''><br><br>";
    prm += "<input type=button id=ok value='OK'>&nbsp;";
    prm += "<input type=button id=cancel value='キャンセル'>";
    text.innerHTML=prm;

    var ts = text.style;

    ts.color = '#000';
    ts.backgroundColor = 'white';
    ts.padding = '15px';
    ts.border = '1px solid gainsboro';
    ts.boxShadow = '3px 3px 10px';
    ts.zIndex = '100';

    document.body.appendChild(text);

    ts.position = 'absolute'; 
    ts.top = 50 + sc + 'px'; 
    ts.left = (window.innerWidth / 2)-(text.offsetWidth / 2) + 'px'; 

    /* promptもどきのイベント関係の処理とか */

    var m=document.getElementById('memo');
    m.focus();
    m.onkeyup = input_check;

}

/* [OK]を押した場合、次の処理へ。(入力文字数のチェックはしていない) */

document.getElementById('ok').onclick = next;

function next() { 

    var num=m.value.trim();

    if(num){

        /* 追跡番号と追跡用のURLをFORMに入力 */

        var url='https://trackings.post.japanpost.jp/services/srv/search/direct?reqCodeNo1=' + num;

        document.getElementsByName("shipInvoiceNumReg")[1].checked=true;
        document.getElementsByName("shipInvoiceNumber1")[0].value=num;
        document.getElementsByName("shipUrl")[0].value=url;

        /* 新しいウィンドウで このURLを開く(数字が間違ってないかの確認用なので、それが不要なら この一行は削っていい) */ 

        window.open(url, 'newwindow', "width=960,height=700");

        /* 「確認する」ボタンを 自動で押す。*/ 

        var arrs=document.getElementsByTagName("input");
        for(i=0;i<arrs.length;i++){ if(arrs[i].value=="確認する"){ arrs[i].click();} } ;
        
    }

    cls();

}

/* 数字12桁(クリックポスト等の追跡番号)が入力されたら、[OK]を押さなくても自動で次の処理へ進む。 */

function input_check() {
    var mc = m.value.replace(/[^0-9]/g, '');
    if (mc.length > 11) next();
}

/* [キャンセル]を押した場合は、ただ閉じる。 */

document.getElementById('cancel').onclick = cls;

function cls() { document.body.removeChild(text); }

}())

おわりに。

一応、自分でも使ってますが、ちょいちょい手直しを加えていったものなので、どこか おかしいかもしれません。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?