ユーザー登録を4ヵ所に増設 

「ver.0.1」はワンタッチで開くリストページの登録が1個だけの仕様でした。 余り考えが纏まっていなかったので、とりあえず Cookieに登録するコードにしました。 しかし、私自身の実使用では頻繁に開く旧い纏めページ群が2~3ヵ所あり、登録できるバンクを4個に増やす事にしました。

 

また、登録運用を長期的に考えると、ローカルストレージに記録するのが適しているので、その仕様に改めました。

 

下は、新しいボタン群のレイアウトです。

 

 

 

登録年月をボタンに表示 

最初はボタンのキャプションを「Memo 1」などとしていましたが、登録した年月を表示する様にしました。 これで、ボタンが開くページが前もって判ります。

 

●表示年月の4個のボタンを「Click」すると、表示した年月のリストが開きます。

 

▪未登録のボタンは「- - -」の表示になり、これを押した場合は一番新しいページが開きます。

 

 

●4個のボタンを「Ctrl+Click」すると、その時に開いているリストページの年月を登録する事ができます。

 

▪表示年月の登録は、ブログの一番最初や、開く事が多い「リストページ」を登録しておくと便利です。

 

「表示年月」にマウスを乗せると操作説明を表示する様にしました。 簡単なツールなので、これだけでツールを使用できるでしょう。

 

 

基本はジャンプ機能 

●「セレクトボックス」の選択操作で 選択した年度の1月 の画面が開きます。

 

 

▪「セレクトボックス」は「2000年~現在」までの年度が選択できます。

 

▪ユーザーの記事が無い(未加入の時期)の年度も記事なしで表示されます。

 

▪2000年等を一旦表示し、年度選択の右ボタン「ページング右」を押すと、ブログの一番最初の記事の月を表示できます。

 

 

 

 

「Quick EntryList」を利用するには 

このツールは Chrome / Edge / Firefox の拡張機能「Tampermonkey」上で動作します。 このツールは常駐型のツールで、Tampermonkey上で常に「ON」にしておくと、「記事の編集・削除」の画面を開いた時にのみに起動します。

 

以下に、このツールの導入手順を簡単に説明します。

 

❶「Tampermonkey」を導入します

使用しているブラウザに拡張機能「Tampermonkey」を導入する事が必要です。 以下のページに簡単な導入の説明があるので参照ください。

 

 

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

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

 

 

 

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

 

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

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

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

 

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

 

 

〔 Quick EntryList 〕 ver. 0.2

 

// ==UserScript==
// @name         Quick EntryList
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  記事の編集・削除の機能拡張
// @author       Ameba Blog User
// @match        https://blog.ameba.jp/ucs/entry/srventrylist*
// @grant        none
// ==/UserScript==


let year_list=[]; // 選択年度の配列
let point_ym; // ユーザーの指定年月のクエリー文字
let qe_ym=[]; // Quick EntryList 復帰ポイントのユーザー設定



let read_json=localStorage.getItem('QE_Point'); // ローカルストレージ 保存名
qe_ym=JSON.parse(read_json);
if(qe_ym==null){
    qe_ym=['', '?', '?', '?', '?']; }
let write_json=JSON.stringify(qe_ym);
localStorage.setItem('QE_Point', write_json); // ローカルストレージ 保存



let disp=document.createElement("div");
disp.setAttribute("id", "disp_qe");
disp.innerHTML=
    '<span class="qe_s">表示年月:</span>'+
    '<button class="qe_button" id="qe_b1"></button>'+
    '<button class="qe_button" id="qe_b2"></button>'+
    '<button class="qe_button" id="qe_b3"></button>'+
    '<button class="qe_button" id="qe_b4"></button>'+
    '<select id="ym_select_box"></select>';

if(!document.querySelector('#disp_qe') &&
   document.querySelector('#ucsMainLeft h1')){
    document.querySelector('#ucsMainLeft h1').appendChild(disp); }

let style=document.createElement('style');
style.setAttribute('id', 'years_style');
style.textContent=
    '#disp_qe { float: right; padding-left: 20px; margin-top: -2px; '+
    'background: #fff; } '+
    '.qe_s { font: normal 14px Meiryo; cursor: default; } '+
    '.qe_s:hover::before { '+
    'content: "Ctrl+Click:表示年月を登録  Click:登録ページを表示"; '+
    'position: absolute; margin: -27px 0 0; padding: 2px 6px 0; '+
    'background: #fff; border: thin solid #aaa; } '+
    '.qe_button { height: 24px; min-width: 70px; font-size: 15px; '+
    'margin: 0 4px; padding: 2px 6px; border: 1px solid #ccc; '+
    'vertical-align: -1px; cursor: pointer; } '+
    '#ym_select_box { font: bold 18px Meiryo !important; '+
    'height: 28px; padding: 0 10px; margin: 0 0 0 20px !important; } '+
    '#ym_select_box option { font: bold 18px Meiryo; } ';

if(!document.querySelector('#years_style') &&
   document.querySelector('#disp_qe')){
    document.querySelector('#disp_qe').appendChild(style); }

for(let k=1; k<5; k++){
    disp_button(k)}


set_year_list();
disp_select();
select_year();
point_set(1);
point_set(2);
point_set(3);
point_set(4);



function disp_button(n){
    let button=document.querySelector('#qe_b'+n);
    if(button){
        let qe_y=qe_ym[n].slice(-6, -2);
        let qe_m=qe_ym[n].slice(-2);
        if(qe_y && qe_m){
            button.textContent=qe_y+'-'+qe_m; }
        else{
            button.textContent='- - -'; }}}



function select_year(){
    let set_year;
    let ym_select_box=document.querySelector('#ym_select_box');
    if(ym_select_box){
        ym_select_box.onchange=function(){
            set_year=ym_select_box.options[ym_select_box.selectedIndex].value;
            location.href=
                "https://blog.ameba.jp/ucs/entry/srventrylist.do?entry_ym="+
                set_year +"01"; }}}



function set_year_list(){
    let currentTime=new Date();
    let year=currentTime.getFullYear();
    for(let k=2000; k<year+1; k++){
        year_list.push(k); }
    year_list.reverse(); }



function disp_select(){
    let page_year;
    let ym=location.search;
    if(ym){
        page_year=ym.slice(-6, -2); }
    else{
        page_year=0; }

    let ym_select_box=document.querySelector('#ym_select_box');
    if(ym_select_box){
        for(let k=0; k<year_list.length; k++){
            let option=document.createElement('option');
            option.text=year_list[k];
            option.value=year_list[k];
            ym_select_box.appendChild(option);
            if(page_year==year_list[k]){
                option.selected=true; }}}}



function point_set(n){
    let point_button=document.querySelector('#qe_b'+n);
    if(point_button){
        point_button.onclick=function(event){
            if(!event.ctrlKey){
                location.href=
                    "https://blog.ameba.jp/ucs/entry/srventrylist.do"+ qe_ym[n]; }
            else{
                let context;
                let ny=location.search.slice(-6, -2);
                let nm=location.search.slice(-2);
                if(ny && nm){
                    context=
                        "   💢 Quick指定年月の登録を変更します\n\n"+
                        "  「OK」を押すと現在選択している "+ny+"年 "+nm+"月 のページが登録されます"; }
                else{
                    context=
                        "   💢 Quick指定年月の登録を変更します\n\n"+
                        "  「OK」を押すと現在選択している 年月 のページが登録されます"; }

                let ok=confirm(context);

                if(ok){
                    let now_ym=location.search;
                    if(!now_ym){
                        now_ym='?'; }
                    qe_ym[n]=now_ym;
                    let write_json=JSON.stringify(qe_ym); // ローカルストレージ 保存
                    localStorage.setItem('QE_Point', write_json);

                    disp_button(n)
                }}

        }}} // point_set()


 

 

 

「Quick EntryList」最新版について 

旧いバージョンの「Quick EntryList」は、アメーバのページ構成の変更で動作しない場合があり、導入する場合は最新バージョンをお勧めします。 最新バージョンへのリンクは、以下のページのリンクリストから探せます。