「Awake」の機能  

「Awake」は、アクセス解析をフルに使いこなすユーザーには便利なツールです。 このツールの機能を整理すると以下です。

 

 

データ更新を知らせる 

●「管理トップ」を開いた時、「アクセス解析結果の更新」が行われた後か、前日の表示のままかを、アクセス表示部のブルーの背景色で知らせます。

▪更新は通常 AM8:00ですが、日付表示などから判定して即時性を高めています。

 

 

▪深夜0時にリセットされ、背景色が白に戻ります。 次の朝にデータが更新されるまで、白背景の状態が続きます。

 

 

 

独自の集計計算 

●「アクセス解析」の記事別詳細ページの上部に、独自のページ集計を表示します。

▪「もっと見る」を自動で押し、画面を開くと全件がすぐに閲覧できます。

▪ ただし、このページは上限 100件なので、それ以上はカウントされません。

▪ 100件超えの集計は参考値なので、表示枠色を「緑」➔「赤」に変更します。

 

 

 

 「アクセス解析」「管理トップ」を往復するスイッチ 

●「管理トップ」ページ ➔ 「アクセス解析(今日)」の移動

▪ 赤枠の「今日のアクセス数」の表示部をスイッチにしています。

▪「アクセス解析」を意味するアイコンを左上に表示します。

▪ マウスを乗せると「青枠」を表示し、ボタンである事を示します。

 

 

▪「Shift + Click」で「今日のアクセス数 / 記事別データ」画面を開きます。

「Shift」キーを押すと「アクセス解析」のアイコン下に「記事別」を表示します。

 

 

 

● 「アクセス解析トップ」➔「管理トップ」の移動

▪ 赤枠の「今日のアクセス数」の表示部をスイッチにしています。

▪「管理トップ」を意味するアイコンを左上に表示します。

▪ マウスを乗せると「青枠」を表示し、ボタンである事を示します。

 

 

▪「Shift + Click」で「今日のアクセス数 / 記事別データ」画面を開きます。

「Shift」キーを押すとアイコンは「アクセス解析」に変わり、その下に「記事別」を表示します。(この機能は Awake ver. 0.7 で追加しました)

 

 

 

 

 「Awake」ver. 0.6 からの更新について

上記の新しい「移動ボタン」の設置で、「管理メニュー」の選択ボタンを使って「アクセス解析」に移動する操作が不要になりました。

 

 

従来の「Awake」は、この選択ボタンを「7日間」から「今日」のデータを開く仕様に変えていましたが、新機能の実装に従って、選択ボタンの仕様を元に戻しました。

 

一方、「今日のアクセス数」のボタンは、「Shift」キー操作で「今日の記事別データ」画面への移動を可能にしました。

 

 

 

「Awake」を使用するには  

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

 

❶「Tampermonkey」を導入します

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

 

 

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

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

 

 

 

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

 

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

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

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

 

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

 

 

〔 Awake 〕 ver. 0.7

 

// ==UserScript==
// @name         Awake
// @namespace    http://tampermonkey.net/
// @version      0.7
// @description  アクセスレポートの更新を背景色で表示・解析ページを「今日」で開く
// @author       Ameba Blog User
// @match        https://blog.ameba.jp/ucs/analysis*
// @match        https://blog.ameba.jp/ucs/top*
// @grant        none
// ==/UserScript==


let path=document.location.pathname;
if(path=='/ucs/top.do'){ // 管理トップ で実行

    let realtime=document.querySelector('.p-realtimeAccess');
    if(realtime){
        realtime.style.cursor='pointer';
        realtime.style.background='#d7f2ff';
        realtime.onclick=function(event){
            if(!event.shiftKey){
                window.location.href='https://blog.ameba.jp/ucs/analysis/analysis.do?unit=today'; }
            else{
                window.location.href='https://blog.ameba.jp/ucs/analysis/analysis_page.do?unit=today'; }}

        document.onkeydown=function(event){
            if(event.shiftKey){
                realtime.classList.add('shift'); }}

        document.onkeyup=function(event){
            if(!event.shiftKey){
                realtime.classList.remove('shift'); }}

        let style_icon=
            '<style>.p-realtimeAccess { position: relative; } '+
            '.p-realtimeAccess:before { content: "\\EA57"; color: #2196f3; '+
            'font-family: ameba-symbols; font-size: 32px; position: absolute; left: 10px; } '+
            '.p-realtimeAccess.shift:after { content: "記事別"; '+
            'position: absolute; top: 40px; left: 14px; font: bold 16px Meiryo; } '+
            '.p-realtimeAccess:hover { outline: 1px solid #2196f3; }</style>';
        realtime.insertAdjacentHTML('afterbegin', style_icon); }


    setTimeout(()=>{
        new_report();
    }, 500); // ページを開いてからのタイミング

} // 管理トップ で実行



if(path.indexOf('analysis')!==-1){ // アクセス解析ページ全体
    let target0=document.querySelector('#root > div');
    let monitor0=new MutationObserver(page_change);
    monitor0.observe(target0, { childList: true });

    page_change();

    function page_change(){
        let path=document.location.pathname;
        if(path.indexOf('analysis.do')!==-1){ // アクセス解析トップ
            clear_disp();
            setTimeout(()=>{
                new_report();
            }, 500); // ページを開いてからのタイミング


            let realtime=document.querySelector('.p-realtimeAccess');
            if(realtime){
                realtime.style.cursor='pointer';
                realtime.style.background='#eff8ff';
                realtime.onclick=function(event){
                    if(!event.shiftKey){
                        window.location.href='https://blog.ameba.jp/ucs/top.do'; }
                    else{
                        window.location.href='https://blog.ameba.jp/ucs/analysis/analysis_page.do?unit=today'; }}

                document.onkeydown=function(event){
                    if(event.shiftKey){
                        realtime.classList.add('shift'); }}

                document.onkeyup=function(event){
                    if(!event.shiftKey){
                        realtime.classList.remove('shift'); }}

                let style_icon=
                    '<style>.p-realtimeAccess { position: relative; } '+
                    '.p-realtimeAccess:before { content: "\\EA31"; color: #009688; '+
                    'font-family: ameba-symbols; font-size: 32px; position: absolute; left: 10px; } '+
                    '.p-realtimeAccess.shift:before { content: "\\EA57"; color: #2196f3; } '+
                    '.p-realtimeAccess.shift:after { content: "記事別"; '+
                    'position: absolute; top: 40px; left: 14px; font: bold 16px Meiryo; } '+
                    '.p-realtimeAccess:hover { outline: 1px solid #2196f3; }</style>';
                realtime.insertAdjacentHTML('afterbegin', style_icon); }

        } // アクセス解析トップ


        if(path.indexOf('analysis_page.do')!==-1){ // 記事別アクセス数ページ
            let target=document.querySelector('#root section');
            let monitor=new MutationObserver(count_do);
            monitor.observe(target, { childList: true });

            count_do();
        } // 記事別アクセス数ページ

    } // page_change()
} // アクセス解析ページ全体


function new_report(){
    let access_title=document.querySelector('.p-analysisSummary__access__title');
    if(access_title){
        let accsess_text=access_title.textContent.match(/\(.*\)/).toString();
        let day=accsess_text.match(/\/.*/).toString().replace(/[^0-9]/g, '');

        let date=new Date();
        date.setDate(date.getDate() -1); // 昨日の日付を取得
        let yesterday=date.getDate();

        if(day==yesterday){
            let access_panel=document.querySelector('.p-analysisSummary');
            access_panel.style.boxShadow='inset 265px 0px 0 0px #d7f2ff'; }}}


function count_do(){
    clear_disp();

    let retry=0;
    let interval=setInterval(more_open, 1000);
    function more_open(){
        retry++;
        if(retry>20){ // リトライ制限 20回 4sec
            clearInterval(interval);
            alert("全てのリスト情報を開かずに合計しました"); }

        let more=document.querySelector('.p-accessGraph__moreLinkBtn--center');
        if(more){
            more.click(); }
        if(!more){
            clearInterval(interval);
            main(); }}

    function main(){
        let line_count=0;
        let num_count=0;
        let p_count=document.querySelectorAll('.p-accessGraphItem__count');
        for(let k=0; k<p_count.length; k++){
            line_count+=1;
            let line_item_disp=p_count[k].textContent.replace(/[^0-9]/g, '');
            num_count+=parseInt(line_item_disp, 10); }

        let disp=document.createElement('div');
        disp.setAttribute("id", 'add_access');
        disp.innerHTML=
            '参照された記事数:'+ line_count +' アクセス数合計:'+ num_count;

        let style=document.createElement('style');
        style.innerHTML=
            '#add_access { position: fixed; top: 100px; right: calc(50% - 405px); '+
            'padding: 4px 15px 2px; font: normal 16px Meiryo; z-index: 10; '+
            'border: 1px solid #009688; background: #fff; '+
            'box-shadow: 2px 3px 6px rgb(170, 170, 170,  0.4); }';

        if(line_count==100){
            style.innerHTML=
                '#add_access { position: fixed; top: 100px; right: calc(50% - 405px); '+
                'padding: 4px 15px 2px; font: normal 16px Meiryo; z-index: 10; '+
                'border: 1px solid red; background: #fff; '+
                'box-shadow: 2px 3px 6px rgb(170, 170, 170,  0.4); }'; }

        disp.appendChild(style);

        clear_disp();
        document.querySelector('body').appendChild(disp);
    } // main()
} // count_do()


function clear_disp(){
    if(document.querySelector('#add_access')){
        document.querySelector('#add_access').remove(); }}


 

〔追記〕 2022.03.12

ver. 0.7 で、「アクセス解析」ページの「今日のアクセス数」のボタンも、「Shift」キー操作で「今日の記事別データ」画面への移動を可能にしました。 上記のコードは、ver. 0.7 に更新済です。

 

 

 

「Awake」最新版について 

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