ブログはデザイン自由度が高い

ブログページのデザインは、ユーザーの選んだブログスキンによって、様々に表示されます。 これが画一的だと皆んな嫌になってしまうので当然ですが、その結果で問題になるのがフォントのサイズです。

 

ブログに使用されるフォントサイズ(文字の大きさ)は時代的な変遷があり、SNSやブログが一般的になり始めた頃は、12~14pxを基準としたデサインが多く、その後に次第に16pxを基準にしたデザインが多くなっています。(PC版デサインの話です)

 

この背景に、PCやノートPCのモニターの高性能化があります。 昔の粗いモニターの時代に適当だった文字サイズは、近年の精細なモニターでは小さく表示されるので、その変化に合わせ利用されるフォントサイズが大きい方にシフトしたのです。

 

アメブロでは、旧タイプのスキンは14pxのフォントサイズが主流で、新タイプのスキンは16pxです。 現在提供されている新旧のタイプの公式スキンには、この両方のフォントサイズがあり、アメブロ内を閲覧して廻るユーザーは、あるブログでは文字が小さくて読みづらいという事が生じて来ます。 中には、スキンアレンジで、とても小さなフォントサイズを指定していたり、その反対のユーザーが居て驚く事があります。 それぞれのユーザーの環境では、それが最適なのかも知れませんが、平均的な設定から考えると「?」な設定のブログも見かけます。

 

 

 ブラウザのデフォルト拡大機能に頼ると、後で困る

文字が小さくて読み難いページでは、ブラウザ拡大率の設定で対処する事が基本の操作です。 ブラウザウインドウで「Ctrl + マウスホィール」の操作で拡大率は簡単に変更できます。

 

 

これは便利な機能で、一般のウェブページで設定した拡大率は、指定したサイト単位でブラウザ内に記録され、再びそのサイトを開いた時には、ユーザーが見易い拡大率で表示されます。

 

ところがアメーバブログでは、各ユーザーのブログページはブラウザにとって「同一のサイト」と判断されるため、あるユーザーのページの文字が小さいので拡大すると、他のブログや自分のブログページに戻ると、その拡大率が維持されたままなので、再び元の拡大率に調整しなおす必要が出て来ます。

 

この扱い難さから、ブラウザ拡大機能は知っているが使わないユーザーはきっと居られるでしょう。 この様な、アメーバブログ参照時の文字サイズの問題を改善しようと考え、制作したのが「Remember My Page」というツールです。

 

 

 

「Remember My Page」の扱い方

「Remember My Page」は、常駐型のツールです。「Tampermonkey」にこのツールを登録して、常にONにしておく使い方をします。 このツールは、ユーザーがアメーバブログの色々なブログページを開いた時から動作をはじめます。

 

このツールの動作は、アメブロヘッダー左端のアメーバアイコンの色が、デフォルトから変化する事で判ります。(色からの判断は後で纏めています)

 

 

❶ ユーザー指定の拡大率があるブログページの場合は、その指定に従って、ページを自動的に拡大(あるいは縮小)表示します。

 

❷ ユーザー指定の拡大率が無いブログページの場合で、フォントサイズが「16px」のブログページは「自動拡大」は動作せず、デフォルト(100%)で表示されます。

 

❸ ユーザー指定の拡大率が無いブログページの場合で、フォントサイズが「14px」のブログページは「自動拡大」が動作します。 これは 14pxのフォントを 16px相当のサイズに表示する 114% の拡大です。

 

❹ 上記❸の「自動拡大」で対応出来ない特殊なページでは、ユーザー自身の最適な拡大率をマニュアル設定できます。 アメーバアイコンを左クリックすると、このツールの設定メニューが表示されます。

 

 

(注意)ブラウザの本来の拡大機能で「100%」以外の値が設定されている場合、上記の紺色の「Basic拡大率」が数秒間表示されます。 ブラウザ拡大とツール拡大が相乗されると、ユーザーは混乱した設定をする可能性があります。 ブラウザのデフォルトの拡大率は「100%」で利用するのが、このツールのお勧めの扱い方です。

 

❺ 上記❸❹に類する例のひとつになりますが、自動拡大で却って見難くなる場合に、敢えて「100%」を設定する事が可能です。 これは「Reset」や「無指定」ではなくツール拡大率「100%」の指定です。

 

 

ツールのメニュー の操作について

 

 

「×」ボタン: メニューを閉じるボタンです。「Set」を押さずにメニューを閉じた場合は、設定は登録・反映せずに、メニューを開く前の状態に戻ります。

 

「拡大率」入力枠: マウスホイールの「⇅」操作で、あるいは「⇧ ⇩」のキー操作で、5%ずつ増減します。 入力枠をクリックして、手入力で1%単位の指定が可能。

 

「Set」ボタン:「拡大率」入力枠の値に応じて、ページが拡大縮小表示されますが、これは仮の表示です。「Set」ボタンを押す事で、その値が登録されて実際のページに反映します。 押さなければ、登録は以前の状態のままです。

 

「Reset」ボタン: 現在のページに設定された拡大率の登録を削除して、設定メニューを閉じます。 ページは標準の表示状態になり、条件によっては自動拡縮が機能する場合もあります。

 

「Export」ボタン: 多数のページで「マニュアル登録」した拡大率のデータを、ファイルに出力してバックアップする事が出来ます。 ファイルは、ダウンロードフォルダーに「remember_zoom(n).json」という名で保存されます。

 

「Import」ボタン: 自分の閲覧環境に最適な拡大率の設定は、バックアップファイルから再現する事が出来ます。 PCが複数ある場合は、バックアップファイルを通じて、環境を統一できます。 

 

 

 

「登録表示マーク」と「アメーバアイコン」 

ブログページを開いた最初の短い間は、Amebaアイコンはデフォルトの緑色で表示されます。「Remember My Page」がOFFになっている場合や、何かの理由で無効になっている場合は、デフォルトのアイコンの表示になります。

 

 

「Remember My Page」が有効になると、Amebaアイコンは青色に変わります。 この色になれば、拡大率を調整・登録をするメニューを開く事が出来ます。

下は「登録表示マーク」の表示がなく、画面は拡大のないデフォルトの表示です。

 

 

下は登録があり、画面に拡大が実行されている場合です。 拡大率が登録されているページでは、青色の「登録表示マーク」が表示されます。

 

 

下は「100%」の拡大率の登録がある場合です。 拡大率「100%」の登録の場合だけ「登録表示マーク」は赤色になります。 これは、自動拡大の対象となるページで、敢えて等倍表示を指定した場合の状態です。

 

 

下は「14px」タイプのページで、「自動拡大」が実行されている場合です。 ページの拡大率の登録をしないでも、自動拡大機能で拡大表示されます。

 

 

 

 

操作は使ってみると簡単 です

このツールの操作を難しく考える必要はなく、次の要領だけ覚えると快適です。

 

アメーバのブログページを表示する際は、特別に必要な場合は別として、

  基本的にブラウザ本来の拡大機能を使用しない様にします。 

 

閲覧上で拡大が必要と思ったページで、それが何度も訪れるページなら、

  このツールで拡大率を調節してセットします。

 

例えば、スキン指定のフォントが小さくて読み難いとか、ページに独自のフォントサイズ指定がされている場合や、閲覧ユーザー側の理由で少し拡大したい場合など、アメブロのページごとに細かく拡大率を指定できます。

 

その拡大指定はブログページ毎に記録され、再びそのページを開く度に自動的に再現されます。 拡大率の登録は、いつでも変更や解除が出来ます。

 

 

 

 アメンバーページに対応

アメンバーページは、ユーザーのスキン設定とは無関係に一律で「16px」のフォントサイズが指定されます。 このため「Remember My Page」を使う必要は一般には無いと思われますが、コアな利用法にも対応できる様に考えました。 扱いは一般ページと同様ですが、バックアップは「remember_zoom_am(n).json」というファイル名になります。

 

〔 Firefox のナビゲーションボタン 〕

このツールは Firefox でも一応は使用可能ですが、Firefoxは「zoom」プロパティに対応していないので、代わりに「transform: scale()」を使用しています。 
この関係で旧タイプ公式スキンの「ナビゲーションボタン」がページ最下部に落ちます。 この問題以外は、ver.1.7以降では 問題なく使用が可能となりました。

 

 

 

ver. 1.1 からの更新内容 

アイコンボタンの取得が間に合わない時にエラーが出るので、これを抑止しました。 ブラウザのデフォルト拡大がある場合の表示を「Basic: ◯◯%」に改め、新EdgeとChromeの両環境での使用に適応させました。 またこの表示のデザインを、新しい「input要素」のデザインに合せています。

 

拡大表示の動作表示とメニューのスイッチとして、アメーバアイコンを利用していますが、配色を少し渋めに改めました。「自動拡大」の場合は「登録表示マーク」をライトグリーン表示とし、アイコンカラーは起動中は不変にして、判り易くしました。

 

 

 

「Remember My Page」ver. 1.2 の導入手順

このツールは、Chrome / Edge / Firefox で動作を確認しています。

( Firefoxは、ver.1.7以降を使用してください)

 

❶「Tampermonkey」を導入します

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

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

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

 

 

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

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

 

 

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

 

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

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

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

 

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

 

 

〔 Remember My Page 〕ver. 1.2

 

// ==UserScript==
// @name         Remember My Page
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  ブログページのブラウザ拡大率をユーザー単位で記録・固定(zoom / transform 使用)
// @author       Ameba Blog User
// @match        https://ameblo.jp/*
// @match        https://secret.ameba.jp/*
// @exclude      https://ameblo.jp/*/image*
// @noframes
// @grant        none
// ==/UserScript==


let remember_data={}; // ブログ登録データ
let remember_id=[];
let remember_zoom=[];
let am=0;
let z_button;
let user_id;
let zoom_value;
let zoom_auto=0;
let edit_mode=0;
let win_html=document.querySelector('html');

let ua=0;
let agent=window.navigator.userAgent.toLowerCase();
if(agent.indexOf('firefox') > -1){ ua=1; } // Firefoxの場合のフラッグ

reg_set();

function reg_set(){
    let read_json=localStorage.getItem('remember_zoom'); // ローカルストレージ 保存名
    remember_data=JSON.parse(read_json);
    if(remember_data==null){
        if(document.querySelector('._jm4LLuUd')){
            remember_data=[['user', 'zoom']]; } // 一般ブログ記事データ
        else if(document.querySelector('.-ameblo-cmnhf-logo')){
            remember_data=[['u_am', 'zoom']]; }} // アメンバー記事データ

    remember_id=[]; // 配列をリセット
    remember_zoom=[]; // 配列をリセット

    for(let k=0; k<remember_data.length; k++){
        remember_id[k]=remember_data[k][0];
        remember_zoom[k]=remember_data[k][1]; }}


let target0=document.querySelector('head'); // 監視 target
let monitor0=new MutationObserver(do_zoom);
monitor0.observe(target0, { childList: true }); // 監視開始

function do_zoom(){
    zoom_reset();

    if(am==0){
        z_button=document.querySelector('._jm4LLuUd'); }
    else if(am==1){
        z_button=document.querySelector('.-ameblo-cmnhf-logo'); }

    if(z_button){
        if(zoom_auto==0){ // 未登録 zoom 無し
            z_button.style.filter='contrast(6) hue-rotate(90deg)';
            z_button.style.boxShadow='none';
            z_button.style.paddingLeft='0'; }
        else if(zoom_auto==1){ // 未登録 auto zoom
            z_button.style.filter='contrast(6) hue-rotate(90deg)';
            z_button.style.boxShadow='-10px 0 0 0 #e98200';
            z_button.style.paddingLeft='5px'; }
        else if(zoom_auto==2){ // 登録有 manual zoom
            z_button.style.filter='contrast(6) hue-rotate(90deg)';
            z_button.style.boxShadow='-10px 0 0 0 #7aff00';
            z_button.style.paddingLeft='5px'; }
        else if(zoom_auto==3){ // 登録有 100% zoom
            z_button.style.filter='contrast(6) hue-rotate(90deg)';
            z_button.style.boxShadow='-10px 0 0 0 #9c27b0';
            z_button.style.paddingLeft='5px'; }

        z_button.onclick=function(event){ // Amebaアイコンのクリック
            event.preventDefault(); // クリックしてもホームに飛ばさない
            local_backup(); }}
} //do_zoom()


function zoom(zoom_value){ // Firefox用のページ拡大コード
    document.body.style.transform='scale(' + zoom_value + ')';
    document.body.style.transformOrigin='top left';
    document.body.style.width=Math.round(1000/zoom_value)/10 + '%';
} // zoom()


function zoom_reset(){
    user_id=document.location.pathname.split("/")[1]; // ユーザーIDを取得

    if(document.querySelector('.-ameblo-cmnhf-logo')){
        am=1; } // アメンバー記事のフラグ

    if(remember_id.indexOf(user_id)!=-1){
        zoom_value=remember_zoom[remember_id.indexOf(user_id)];
        if(zoom_value==1){
            zoom_auto=3; } // 登録有 100% zoom を適用
        else { zoom_auto=2; }} // 登録有 manual zoom を適用
    else{
        let entryBody=document.querySelector('#entryBody');
        if(entryBody){
            if(getComputedStyle(entryBody, null).fontSize=='14px'){ // 未登録14px型
                zoom_auto=1; // 未登録 auto zoom を適用
                zoom_value=1.14; }
            else{
                zoom_auto=0; // 未登録 zoom 無し
                zoom_value=1; }}
        else{
            zoom_auto=0; // 未登録 zoom 無し
            zoom_value=1; }} // entryBodyが取得出来ない場合

    let zz_input=document.querySelector('#z_input');
    if(zz_input){
        zz_input.value=Math.round(zoom_value*100); } // 拡大率表示を更新

    if(ua==0){ // Chromeの場合 拡大実行
        document.body.style.zoom=zoom_value; }
    else if(ua==1){ // Firefoxの場合 拡大実行
        zoom(zoom_value); }
} // 開いた画面にzoom値を設定して拡大


function local_backup(){
    edit_mode=1;
    win_html.style.overflow='hidden'; // ウインドウのスクロールを抑止


    let z_panel=document.createElement('div');
    let panel_style;
    if(am==0){
        panel_style=
            'position: absolute; top: 3px; left: 0; z-index: 0; '+
            'color: #333; background: #fff; padding: 5px 0 5px 15px; width: 400px;'; }
    if(am==1){
        panel_style=
            'position: absolute; top: 0; left: 0; z-index: 0; '+
            'color: #333; background: #fff; padding: 3px 0 2px 15px; width: 400px;'; }
    z_panel.setAttribute('style', panel_style);
    z_panel.setAttribute('id', 'z_panel');
    if(am==0){
        document.querySelector('._1wfBdJLw').appendChild(z_panel); }
    else if(am==1){
        document.querySelector('#ambHeaderLeft').appendChild(z_panel); }
    if(ua==0){
        z_panel.innerHTML=
            '<style>input[type="number"]::-webkit-inner-spin-button { '+
            '-webkit-appearance: none; }</style>'; } // 拡大率設定枠のデザイン
    else if(ua==1){
        z_panel.innerHTML=
            '<style>input[type="number"]{ -moz-appearance:textfield; }</style>'; }

    let button_0=document.createElement('input');
    button_0.setAttribute('type', 'submit');
    button_0.setAttribute('value', '×');
    let style_text_x;
    if(ua==0){
        style_text_x='font: bold 15px Arial; width: 14px; height: 24px;'+
            'margin-right: 15px; padding: 2px 0; vertical-align: 0;'; }
    else if(ua==1){
        style_text_x='font: normal 15px Arial; width: 15px; height: 24px;'+
            'margin-right: 15px; padding: 0; vertical-align: 0;'; }
    button_0.setAttribute('style', style_text_x);
    z_panel.appendChild(button_0);
    button_0.onclick=function(){
        edit_mode=0;
        zoom_reset();
        win_html.style.overflow='auto'; // ウインドウのスクロールを再開
        z_panel.remove(); }


    let input_1=document.createElement('input');
    input_1.setAttribute('type', 'number');
    let input_1_style;
    if(ua==0){
        input_1_style='font: normal 15px Arial; padding: 1.5px 0 0 8px; width: 36px; '+
            'box-sizing: content-box; height: 18.8px; vertical-align: 0;'; }
    else if(ua==1){
        input_1_style='font: normal 15px Arial; padding: 0 0 0 8px; width: 36px; '+
            'box-sizing: content-box; height: 21px; vertical-align: 0; border: 1px solid #aaa'; }
    input_1.setAttribute('style', input_1_style);
    input_1.setAttribute('step', '5');
    input_1.setAttribute('min', '80');
    input_1.setAttribute('max', '200');
    input_1.setAttribute('id', 'z_input');
    z_panel.appendChild(input_1);

    if(remember_id.indexOf(user_id)!=-1){
        zoom_value=remember_zoom[remember_id.indexOf(user_id)]; }
    else{
        if(zoom_auto==1){
            zoom_value=1.14; }
        else{
            zoom_value=1; }}
    input_1.value=Math.round(zoom_value*100);

    document.onwheel=function(event){ // マスウホイールで設定
        event.stopPropagation();
        event.stopImmediatePropagation();
        if(event.deltaY<0 && edit_mode==1){
            input_1.stepUp(); }
        else if(event.deltaY>0 && edit_mode==1){
            input_1.stepDown(); }
        if(edit_mode==1){
            if(ua==0){
                document.body.style.zoom=input_1.value/100; }
            else if(ua==1){
                zoom(input_1.value/100); }}}


    let button_2=document.createElement('input');
    button_2.setAttribute('type', 'submit');
    button_2.setAttribute('value', 'Set');
    let button_2_style;
    if(ua==0){
        button_2_style=
            'font: normal 15px Arial; padding: 2px; margin-left: 4px; height: 24px;'; }
    if(ua==1){
        button_2_style=
            'font: normal 15px Arial; padding: 0 2px; margin-left: 4px; height: 24px;'; }
    button_2.setAttribute('style', button_2_style);
    z_panel.appendChild(button_2);

    button_2.onclick=function(){
        let zoom_set=input_1.value/100; // 登録するzoom倍率

        if(remember_id.indexOf(user_id)==-1){ // 未登録のIDの場合
            remember_data.push([user_id, zoom_set]); // 等倍も登録する
            let write_json=JSON.stringify(remember_data);
            localStorage.setItem('remember_zoom', write_json); }
        else if(remember_id.indexOf(user_id)!=-1){ // 既登録のIDの場合
            remember_data.splice(remember_id.indexOf(user_id), 1); // 一旦は登録削除
            remember_data.push([user_id, zoom_set]); // 登録値を更新して追加
            let write_json=JSON.stringify(remember_data);
            localStorage.setItem('remember_zoom', write_json); }

        reg_set();
        edit_mode=0;
        do_zoom();
        win_html.style.overflow='auto'; // ウインドウのスクロールを再開
        z_panel.remove(); }


    let button_3=document.createElement('input');
    button_3.setAttribute('type', 'submit');
    button_3.setAttribute('value', 'Reset');
    let button_3_style;
    if(ua==0){
        button_3_style=
            'font: normal 15px Arial; padding: 2px; margin-left: 4px; height: 24px;'; }
    if(ua==1){
        button_3_style=
            'font: normal 15px Arial; padding: 0 2px; margin-left: 4px; height: 24px;'; }
    button_3.setAttribute('style', button_3_style);
    z_panel.appendChild(button_3);

    button_3.onclick=function(){
        if(remember_id.indexOf(user_id)==-1){ ; } // 未登録のIDの場合
        else if(remember_id.indexOf(user_id)!=-1){ // 既登録のIDの場合
            remember_data.splice(remember_id.indexOf(user_id), 1); // Resetは登録削除
            let write_json=JSON.stringify(remember_data);
            localStorage.setItem('remember_zoom', write_json); }

        reg_set();
        edit_mode=0;
        do_zoom();
        win_html.style.overflow='auto'; // ウインドウのスクロールを再開
        z_panel.remove(); }


    let button_4=document.createElement('input');
    button_4.setAttribute('type', 'submit');
    button_4.setAttribute('value', 'Export');
    let button_4_style;
    if(ua==0){
        button_4_style=
            'font: normal 15px Arial; padding: 2px; margin: 0 4px 0 15px; height: 24px;' }
    if(ua==1){
        button_4_style=
            'font: normal 15px Arial; padding: 0 2px; margin: 0 4px 0 15px; height: 24px;' }
    button_4.setAttribute('style', button_4_style);
    z_panel.appendChild(button_4);

    button_4.onclick=function(){
        let write_json=JSON.stringify(remember_data);
        let blob=new Blob([write_json], {type: 'application/json'});
        try{
            let a_elem=document.createElement('a');
            a_elem.href=URL.createObjectURL(blob);
            document.body.appendChild(a_elem);
            if(am==0){
                a_elem.download='remember_zoom.json'; } // 保存ファイル名(一般ブログ記事)
            else if(am==1){
                a_elem.download='remember_zoom_am.json'; } // 保存ファイル名(アメンバー記事)
            if(ua==1){
                a_elem.target = '_blank';
                document.body.appendChild(a_elem); }
            a_elem.click();
            if(ua==1){
                document.body.removeChild(a_elem); }
            URL.revokeObjectURL(a_elem.href);
            alert("✅  ファイルを保存しました\n"+
                  "  ダウンロードフォルダーを確認してください"); }
        catch(e){
            alert("❌ ファイル保存時にエラーが発生しました\n"+
                  "  ダウンロードフォルダーを確認してください"); }}


    let button_5=document.createElement('input');
    button_5.setAttribute('type', 'submit');
    button_5.setAttribute('value', 'Import');
    let button_5_style;
    if(ua==0){
        button_5_style=
            'font: normal 15px Arial; padding: 2px; margin-right: 15px; height: 24px;' }
    if(ua==1){
        button_5_style=
            'font: normal 15px Arial; padding: 0 2px; margin-right: 15px; height: 24px;' }
    button_5.setAttribute('style', button_5_style);
    z_panel.appendChild(button_5);

    button_5.onclick=function(){
        input_5.click(); }

    let input_5=document.createElement('input');
    input_5.setAttribute('type', 'file');
    input_5.style.display='none';
    z_panel.appendChild(input_5);

    input_5.addEventListener("change" , function(){
        if(!(input_5.value)) return; // ファイルが選択されない場合
        let file_list=input_5.files;
        if(!file_list) return; // ファイルリストが選択されない場合
        let file=file_list[0];
        if(!file) return; // ファイルが無い場合

        let file_reader=new FileReader();
        file_reader.readAsText(file);
        file_reader.onload=function(){
            if((am==0 && file_reader.result.slice(0, 15)=='[["user","zoom"') ||
               (am==1 && file_reader.result.slice(0, 15)=='[["u_am","zoom"')){ // ファイルデータの確認
                remember_data=JSON.parse(file_reader.result); // 読出してストレージを上書きする
                let write_json=JSON.stringify(remember_data);
                localStorage.setItem('remember_zoom', write_json); // ローカルストレージ 保存名
                reg_set();
                zoom_reset(); // 画面の拡大表示をリセット
                alert("✅ 拡大率の登録データを読込みました\n"+
                      "   読込んだファイル名: " + file.name); }
            else{
                alert("❌ Remember My Page の Exportファイルではありません\n"+
                      "   Importファイルは 「remember_zoom ... 」の名前です"); }}});


    if(ua==0){
        let chrome_value=Math.round(((window.outerWidth - 16) / window.innerWidth)*100);
        if(chrome_value!=100){
            let button_6=document.createElement('span');
            let button_6_style;
            button_6_style='font: normal 15px Arial; color: #fff; background: #0288d1; '+
                'padding: 3px 4px; border: thin solid #888; border-radius: 3px; transition: 2s;';
            button_6.setAttribute('style', button_6_style);
            button_6.innerHTML='Basic ' + chrome_value + '%';
            z_panel.appendChild(button_6);

            z_panel.style.zIndex='2';
            setTimeout(()=>{
                button_6.style.opacity='0';
            }, 3000);
            setTimeout(()=>{
                button_6.remove();
                z_panel.style.zIndex='0';
            }, 6000); }}

} // local_backup()


let target1=document.querySelector('head'); // 監視 target
let monitor1=new MutationObserver(path_change);
monitor1.observe(target1, { childList: true }); // 監視開始

function path_change(){ // zoomの設定中にページ変更をした場合
    let zz_panel=document.querySelector('#z_panel');
    if(edit_mode==1 && !zz_panel){
        edit_mode=0;
        win_html.style.overflow='auto'; // ウインドウのスクロールを再開
        do_zoom(); } // 画面の拡大表示をリセット

    else if(edit_mode==1 && zz_panel){
        let zz_input=document.querySelector('#z_input');
        if(remember_id.indexOf(user_id)!=-1){
            zoom_value=remember_zoom[remember_id.indexOf(user_id)]; }
        else{
            if(zoom_auto==1){
                zoom_value=1.14; }
            else{
                zoom_value=1; }}
        zz_input.value=Math.round(zoom_value*100); } // 拡大値表示をリセット

} // path_change()


 

 

 

「Remember My Page」最新版について 

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

 

● このツールは ver.3.0 から「RemPage For Chrome」「RemPage For Firefox」に分かれますが、Firefox版は CSSコード非対応で性能が悪くテスト版としています。 最新バージョンへのリンクは、以下のページのリンクリストから探せます。