ユーザー登録を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」は、アメーバのページ構成の変更で動作しない場合があり、導入する場合は最新バージョンをお勧めします。 最新バージョンへのリンクは、以下のページのリンクリストから探せます。