「Editor Keeper ⭐  📛」は編集画面の補完ツール 

アメブロ最新版エディタに対して、「Editor Keeper ⭐ 📛」は以下の改善をします。 このツールは「Ameblo Writer(Compact) 」でアレンジした編集画面を前提にデザインされています。(このアレンジが無くても動作します)

 

各機能については、それぞれのリンク先を参照ください。

 

   画像貼り付け位置設定・サイズ指定を保持する  

   絵文字タブの初期表示を保持 

   バナータブの初期表示を保持  

   ドラッグ&ドロップの失敗を防ぐ 

   中央寄せ画像から改行を左寄せにする 

   柔軟な文字サイズ指定の機能 

   投稿日時設定のインターフェイス改善 

   編集画面を閉じずに「管理トップ」「ブログトップ」「ホーム」を開く 

 

 

 

 投稿日時の「MEMO」の登録操作を改善

投稿日時設定に関しては、各種の便利な機能が、このツールで使える様になります。 全機能についての詳細は、以下のページを参照ください。

 

 

中でも「MEMO」機能は、投稿時刻を統一したいユーザーには便利です。 特定の時刻を「登録」しておくと、ブログ投稿時刻をワンタッチで設定できます。

 

今回、この登録操作に確認のステップを追加しました。 誤って「Shift+左クリック」を押すと、意図せず登録した時刻を変えてしまう事がありましたが、この誤操作を防ぐための更新です。 以下に「MEMO」の登録操作と適用手順を説明します。

 

 

「MEMO」の登録操作 

❶ 投稿時刻の登録を行うには、下の投稿日時設定のダイアログを開きます。

 

 

❷ 手作業で登録したい時刻の「時」と「分」を設定します。

 ▪秒は「0」が後で自動登録されます。 年月日は何でもかまいません。

 ▪キャレットを枠内に入れると、ホイールで値を変更できます。

 ▪キャレットを枠内に入れ「Ctrl+左クリック」すると「0」に設定出来ます。

 

 

❸ 登録する時刻を入力したら「決定」ボタンを「Shift+左クリック」します。

 

 

❹「MEMO」の登録時刻を書換えるか否かの確認が表示されます。

 ▪登録時刻を書換えるなら「OK」を押します。

 ▪書換えない場合は「キャンセル」を押すと、❷の状態に戻ります。

 

 

➎「OK」を押すと、登録時刻が書換えられ、秒の枠が「0」に変わります。

 ▪書換えた事を知らせるために、ボタンに 2secの間「MEMO」と表示します。

 

 

❻「決定」ボタンが元の表示になると、「MEMO」の書換え操作は完了です。

 

 

ただし上図の様に、この記事の投稿時刻は最初のままです。 ❷ ~ ❻ は、あくまで「MEMO」の登録時刻を書換える操作だからです。

 

この場合は、登録した時刻が既にダイアログに設定されているので、「決定」ボタンを押すと、記事の投稿時刻に反映します。

 

 

「MEMO」機能で投稿時刻を設定 

➐ 投稿日時設定のダイアログを開き「決定」ボタンを「Ctrl+左クリック」します。

 

 

❽ 一瞬で、投稿時刻の枠が書換えられます。 これは気付かないほどの早さです。

 

 

➒ ダイアログが消え、下の様に「MEMO」の登録時刻が記事に設定されます。

 

 

 

 

 

「Editor Keeper ⭐ 📛」ver. 3.4 を利用するには

このツールは、Chrome / Edge / Firefox の各ブラウザ版「Tampermonkey」で動作を確認しています。

 

❶「Tampermonkey」を導入します

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

 

 

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

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

 

 

 

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

 

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

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

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

 

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

 

 

〔 Editor Keeper ⭐ 📛 〕 ver. 3.4

 

// ==UserScript==
// @name         Editor Keeper ⭐📛
// @namespace    http://tampermonkey.net/
// @version      3.4
// @description  編集画面を閉じず「管理トップ」「ブログトップ」に移動する
// @author        Ameblo Writer User
// @match        https://blog.ameba.jp/ucs/entry/srventry*
// @exclude      https://blog.ameba.jp/ucs/entry/srventrylist.do*
// @grant         none
// ==/UserScript==


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


let retry=0;
let interval=setInterval(wait_target, 100);
function wait_target(){
    retry++;
    if(retry>10){ // リトライ制限 10回 1sec
        clearInterval(interval); }
    let target=document.querySelector('.l-gHeaderLeft__link a'); // 監視 target
    if(target){
        clearInterval(interval);
        button_disp();
        keeper();
        environ();
        keep_left();
        step_size();
    }}



function button_disp(){
    // 以下 起動表示CSSを適用 📛
    let css;
    if(ua==0){
        css=
            '.l-gHeaderLeft__link a:before { content: "" !important; } '+
            '.l-gHeaderLeft__link a:after { content: "⏏" !important; font-size: 24px !important; '+
            'line-height: 16px !important; top: 2px !important; left: 6px !important; } '+
            '.l-gHeaderLeft__link a { font-weight: bold; '+
            'text-indent: -6.3em !important; height: 31px !important; padding-top: 3px; } '+
            '.l-gHeaderLeft__link a:hover { '+
            'text-indent: 0.4em !important; width: calc(28px + 6.7em) !important; '+
            'background: #fff !important; box-shadow: -10px 0 1px 0 var(--bgc1) !important; } '+
            '#globalHeader #gHeaderLeft { width: 280px; } '+
            '.l_calendar__inputTimeContainer input::-webkit-outer-spin-button, '+
            '.l_calendar__inputTimeContainer input::-webkit-inner-spin-button { '+
            '-webkit-appearance: none; margin: 0; }'; }

    if(ua==1){
        css=
            '.l-gHeaderLeft__link a:before { content: "" !important; } '+
            '.l-gHeaderLeft__link a:after { content: "⏏" !important; font-size: 36px !important; '+
            'line-height: 4px !important; top: 7px !important; left: 2px !important; } '+
            '.l-gHeaderLeft__link a { font-weight: bold; '+
            'text-indent: -6em !important; height: 30px !important; padding-top: 4px; } '+
            '.l-gHeaderLeft__link a:hover { '+
            'text-indent: 0.7em !important; width: calc(28px + 6.7em) !important; '+
            'background: #fff !important; box-shadow: -10px 0 1px 0 var(--bgc1) !important; } '+
            '#globalHeader #gHeaderLeft { width: 280px; } '+
            '.l_calendar__inputTimeContainer input { -moz-appearance:textfield; }'; }


    //   css=css + ' #js-editor-dropArea { display: none; }'; // 編集枠へのドロップを抑止する⭕


    let style_tag=document.createElement("style"); // css設定styleタグ
    style_tag.type="text/css";
    style_tag.appendChild(document.createTextNode(css));
    document.querySelector('.l-body').appendChild(style_tag);

} // button_disp()



function keeper(){
    let target=document.querySelector('.l-gHeaderLeft__link a');
    target.setAttribute('target', '_blank');

    target.onclick=function(event){
        if(event.shiftKey){
            event.preventDefault();
            let amebaId=document.querySelector('.amebaId').textContent;
            if(amebaId){
                let blogurl='https://ameblo.jp/' + amebaId + '/';
                window.open(blogurl, "_blank"); }}
        else if(event.ctrlKey){
            event.preventDefault();
            let homeurl='https://www.ameba.jp/home';
            window.open(homeurl, "_blank"); }}

    jump_disp(window);

    let editor_iframe=document.querySelector('.cke_wysiwyg_frame');
    if(editor_iframe){ // iframe読込みが実行条件
        let iframe_doc=editor_iframe.contentWindow.document;
        jump_disp(iframe_doc); }

    function jump_disp(env){
        env.addEventListener('keydown', function(event){
            if(event.shiftKey==true){
                target.textContent='ブログトップ';
                target.style.boxShadow='#00e2ff -14px 0 0 0 inset';
                env.addEventListener('keyup', function(){
                    target.textContent='管理トップへ';
                    target.style.boxShadow='#79fbf6 -14px 0 0 0 inset'; }); }
            else if(event.ctrlKey==true){
                target.textContent='ホームを表示';
                target.style.boxShadow='#00e2ff -14px 0 0 0 inset';
                env.addEventListener('keyup', function(){
                    target.textContent='管理トップへ';
                    target.style.boxShadow='#79fbf6 -14px 0 0 0 inset'; }); }}); }


    window.addEventListener('dragover', function(event){ // 編集画面へのドロップ制限
        event.preventDefault(); }, false);
    window.addEventListener('drop', function(event){
        event.preventDefault();
        event.stopPropagation(); }, false);

} // keeper()



function environ(){
    let aw_preset=[]; // Ameblo Writer のユーザー設定
    set_db();

    function set_db(){
        let read_json=localStorage.getItem('AWriter_Preset'); // ローカルストレージ 保存名
        aw_preset=JSON.parse(read_json);
        if(aw_preset==null){
            aw_preset=[0,0,0,0,0,0,0]; }
        else{
            let db_length=aw_preset.length;
            for(let k=0; k<7-db_length; k++){ //「7」は配列指定数
                aw_preset.push(0); }}
        let write_json=JSON.stringify(aw_preset);
        localStorage.setItem('AWriter_Preset', write_json); } // ローカルストレージ 保存



    photo_size();

    function photo_size(){
        let ph_size=document.querySelectorAll('.js-photo-paste-size');
        if(ph_size.length>0){
            ph_size[aw_preset[0]].click(); } // サイズボタンをストレージ記録に従って押す

        for(let k=0; k<ph_size.length; k++){ // 押されたサイズボタンを記録する
            ph_size[k].onclick=function(){
                storage_w(0, k); }}} // サイズ選択をローカルストレージ 保存



    picto_select1();

    function picto_select1(){
        let pict_nav=document.querySelectorAll('.js-pictograph-nav');
        let pict_button=document.querySelector('button[data-side-content="pictograph"]');
        pict_button.onclick=function(){
            if(pict_nav.length>0){
                if(pict_nav[aw_preset[2]].hasAttribute('disable')){
                    pict_nav[aw_preset[2]].removeAttribute('disable'); }
                pict_nav[aw_preset[2]].click(); }}

        for(let k=0; k<pict_nav.length; k++){
            pict_nav[k].onclick=function(){
                if(k==1){
                    picto_select2(); } // 絵文字のパレットを記録に従って開く
                storage_w(2, k); }}} // 履歴・絵文字の選択をローカルストレージ 保存


    function picto_select2(){
        let pict_nav2=document.querySelectorAll('.js-pictograph-subNav');
        if(pict_nav2.length>0){
            pict_nav2[aw_preset[3]].click(); }

        for(let k=0; k<pict_nav2.length; k++){
            pict_nav2[k].onclick=function(){
                storage_w(3, k); }}} // 絵文字のパレット選択をローカルストレージ 保存



    coax_select();

    function coax_select(){
        let coax_nav=document.querySelectorAll('.js-coax-nav');
        let coax_button=document.querySelector('button[data-side-content="coax"]');
        coax_button.onclick=function(){
            if(coax_nav.length>0){
                coax_nav[aw_preset[4]].click(); }}

        for(let k=0; k<coax_nav.length; k++){
            coax_nav[k].onclick=function(){
                storage_w(4, k); }}} // おねだりバナーの選択をローカルストレージ 保存


    let p_images=document.querySelector('.p-images-imageList__body'); // 監視 target
    let monitor=new MutationObserver(photo_pos);
    monitor.observe(p_images, {childList: true, subtree: true}); // 画像リストの変化を監視開始

    function photo_pos(){
        let item=document.querySelectorAll('.p-images-imageList__item');
        for(let k=0; k<item.length; k++){
            set_pos(k); }

        function set_pos(k){ // 画像の挿入時に配置指定を実行
            item[k].addEventListener('mouseup', function(){
                let editor_iframe=document.querySelector('.cke_wysiwyg_frame');
                if(editor_iframe){ // iframe読込みが実行条件
                    let iframe_doc=editor_iframe.contentWindow.document;

                    setTimeout(()=>{
                        let post_img_p=iframe_doc.getSelection().anchorNode;
                        if(aw_preset[1]==1){
                            post_img_p.setAttribute("style", "text-align: center;"); }
                        else if(aw_preset[1]==2){
                            post_img_p.setAttribute("style", "text-align: right;"); }
                    }, 10);

                    setTimeout(()=>{
                        dialogue(); }, 20); }});
        } // set_pos()
    } // photo_pos()



    dialogue();

    function dialogue(){
        let editor_iframe=document.querySelector('.cke_wysiwyg_frame');
        if(editor_iframe){ // iframe読込みが実行条件
            let iframe_doc=editor_iframe.contentWindow.document;

            let post_img=iframe_doc.querySelectorAll('.cke_editable img');
            for(let k=0; k<post_img.length; k++){
                post_img[k].addEventListener('click', function(){
                    setTimeout(()=>{
                        get_set(); }, 20); }); }

            function get_set(){ // 画像ダイアログのサイズ・位置選択を取得
                let size_button=document.querySelectorAll('.js-image-size-button');
                for(let k=0; k<size_button.length; k++){
                    size_button[k].addEventListener('mouseup', function(){
                        storage_w(0, k); // サイズ選択をローカルストレージ 保存
                        photo_size(); }); } // 右パレットのサイズボタンを押す

                let pos_button=document.querySelectorAll('.ck-imgJustify');
                for(let k=0; k<pos_button.length; k++){
                    pos_button[k].addEventListener('mouseup', function(){
                        if(pos_button[k].classList.contains('ck-imgJustify--active')!=true){
                            storage_w(1, k); } // 位置選択をローカルストレージ 保存
                        else {
                            storage_w(1, 0); }}); } // 位置リセットをローカルストレージ 保存
            } // get_set()
        }} // dialogue()



    calendar();

    function calendar(){
        setTimeout(()=>{
            timeset();
        }, 1000);

        function timeset(){
            let js_calendar=document.querySelector('#js-calendarClickBox');
            js_calendar.onclick=function(){

                let time_set=document.querySelectorAll('.l_calendar__inputTimeContainer input');
                for(let k=0; k<time_set.length; k++){
                    time_set[k].setAttribute('type', 'number');
                    wheel_input(time_set[k]); }

                function wheel_input(elem){
                    elem.onwheel=function(event){ // マスウホイールで設定可能にする
                        event.preventDefault();
                        if(event.deltaY<0 && elem==document.activeElement){
                            elem.stepUp(); }
                        else if(event.deltaY>0 && elem==document.activeElement){
                            elem.stepDown(); }
                        if(elem==Day){
                            Day.blur();
                            setTimeout(()=>{
                                Day.focus(); }, 2); }}}


                let Month=document.querySelector('#js-calInputMonth');
                Month.setAttribute('min', 1);
                Month.setAttribute('max', 12);

                let Day=document.querySelector('#js-calInputDay');
                Day.setAttribute('min', 1);
                Day.setAttribute('max', 31);

                let Hours=document.querySelector('#js-calInputHours');
                Hours.setAttribute('min', 0);
                Hours.setAttribute('max', 23);

                let Minutes=document.querySelector('#js-calInputMinutes');
                Minutes.setAttribute('min', 0);
                Minutes.setAttribute('max', 59);

                let Seconds=document.querySelector('#js-calInputSeconds');
                Seconds.setAttribute('min', 0);
                Seconds.setAttribute('max', 59);


                setTimeout(()=>{
                    Day.focus(); }, 40);

                Hours.onclick=function(event){
                    if(event.ctrlKey){
                        Hours.value=0; }}

                Minutes.onclick=function(event){
                    if(event.ctrlKey){
                        Minutes.value=0; }}

                Seconds.onclick=function(event){
                    if(event.ctrlKey){
                        Seconds.value=0; }}

                let OkButton=document.querySelector('#js-calOkButton');
                OkButton.addEventListener('mousedown', function(event){
                    if(event.ctrlKey){
                        OkButton.disabled=true;
                        Hours.focus();
                        Hours.value=aw_preset[5];
                        Minutes.focus();
                        Minutes.value=aw_preset[6];
                        Seconds.focus();
                        Seconds.value=0;
                        setTimeout(()=>{
                            OkButton.disabled=false;
                            OkButton.click(); }, 500); }
                    else if(event.shiftKey){
                        let ok=confirm(" 🔴 MEMO登録を変更しますか?");
                        if(ok){
                            event.stopImmediatePropagation();
                            OkButton.textContent='MEMO';
                            OkButton.disabled=true;
                            Seconds.focus();
                            Seconds.value=0;
                            setTimeout(()=>{
                                OkButton.disabled=false; }, 500);
                            setTimeout(()=>{
                                OkButton.textContent='決定'; }, 2000);
                            storage_w(5, Number(Hours.value));
                            storage_w(6, Number(Minutes.value)); }
                        else{
                            event.stopImmediatePropagation(); }
                    }});
            }} // timeset()
    } // calendar()





    function storage_w(ele, val){ // 編集環境のローカルストレージ保存
        aw_preset[ele]=val;
        let write_json=JSON.stringify(aw_preset);
        localStorage.setItem('AWriter_Preset', write_json); }

} // environ()



function keep_left(){

    let target=document.getElementById('cke_1_contents'); // 監視 target
    let monitor=new MutationObserver(align_left);
    monitor.observe(target, {childList: true}); // ショートカット待受け開始

    align_left();

    function align_left(){
        let editor_iframe=document.querySelector('.cke_wysiwyg_frame');
        if(editor_iframe){ // iframe読込みが実行条件
            let iframe_doc=editor_iframe.contentWindow.document;
            let iframe_body=iframe_doc.querySelector('body.cke_editable');
            iframe_doc.execCommand('defaultParagraphSeparator', false, 'p')

            iframe_doc.addEventListener("keydown", check_key);
            function check_key(event){
                if(event.keyCode==13){ //「Enter」キー入力
                    setTimeout(()=>{
                        let ac_node=iframe_doc.getSelection().anchorNode;
                        if(ac_node.tagName=='P' &&
                           (ac_node.style.textAlign=='left' ||
                            ac_node.style.textAlign=='center' ||
                            ac_node.style.textAlign=='right')){
                            ac_node.style.textAlign=null;
                            if(ac_node.outerHTML.indexOf('<p style="">')!=-1){
                                ac_node.outerHTML=
                                    ac_node.outerHTML.replace('<p style="">', '<p>'); }}
                    }, 10); }}}} // align_left()

} // keep_left()



function step_size(){
    let ua_n=ua+2; // Chromeの場合


    /*
    let ua_n=2; // Chromeの場合   +2
    let agent=window.navigator.userAgent.toLowerCase();
    if(agent.indexOf('firefox') > -1){ ua_n=3; } // Firefoxの場合
*/

    let target=document.getElementById('cke_1_contents'); // 監視 target
    let monitor=new MutationObserver(flex_edit);
    monitor.observe(target, {childList: true}); // ショートカット待受け開始

    flex_edit();

    function flex_edit(){
        let editor_iframe;
        let iframe_doc;
        let selection;
        let range;
        let clone;
        let tags;
        let insert_node;

        editor_iframe=document.querySelector('.cke_wysiwyg_frame');
        if(editor_iframe){
            iframe_doc=editor_iframe.contentWindow.document;
            if(iframe_doc){
                iframe_doc.addEventListener('keydown', block_key);
                document.addEventListener('keydown', block_key);

                function block_key(event){
                    if(event.altKey && event.keyCode==37){ //「Alt+⇦」を無効化
                        event.preventDefault(); }}


                iframe_doc.addEventListener('keydown', check_key);
                document.addEventListener('keydown', check_key);

                function check_key(event){
                    //    disp_tag(); // 取得range状態のチェック用 ●

                    if(event.altKey && event.keyCode==38){
                        event.preventDefault();
                        event.stopImmediatePropagation();
                        if(check_tag()==0){
                            first(event.altKey, event.keyCode); }
                        else if(check_tag()==1){
                            more(event.altKey, event.keyCode); }
                        else if(check_tag()==ua_n){
                            more2(event.altKey, event.keyCode); }}

                    if(event.altKey && event.keyCode==40){
                        event.preventDefault();
                        event.stopImmediatePropagation();
                        if(check_tag()==0){
                            first(event.altKey, event.keyCode); }
                        else if(check_tag()==1){
                            more(event.altKey, event.keyCode); }
                        else if(check_tag()==ua_n){
                            more2(event.altKey, event.keyCode); }}

                    if(event.ctrlKey && event.keyCode==38){
                        event.preventDefault();
                        event.stopImmediatePropagation();
                        if(check_tag()==0){
                            first(event.ctrlKey, event.keyCode); }
                        else if(check_tag()==1){
                            more(event.ctrlKey, event.keyCode); }
                        else if(check_tag()==ua_n){
                            more2(event.ctrlKey, event.keyCode); }}

                    if(event.ctrlKey && event.keyCode==40){
                        event.preventDefault();
                        event.stopImmediatePropagation();
                        if(check_tag()==0){
                            first(event.ctrlKey, event.keyCode); }
                        else if(check_tag()==1){
                            more(event.ctrlKey, event.keyCode); }
                        else if(check_tag()==ua_n){
                            more2(event.ctrlKey, event.keyCode); }}

                    function check_tag(){
                        selection=iframe_doc.getSelection();
                        range=selection.getRangeAt(0);
                        clone=selection.getRangeAt(0).cloneContents();
                        tags=clone.querySelectorAll(
                            'span, p, a, b, br, div, em, h1, h2, h3, h4, i, img, s');
                        if(range.collapsed){
                            return -1; } // 選択範囲が無い時は動作しない
                        else{
                            return tags.length; }}

                    //    function disp_tag(){ // 取得range状態のチェック用 ●
                    //        let box=document.querySelector('#cke_8');
                    //        box.style.font="bold 16px/30px Meiryo";
                    //        box.innerHTML=check_tag(); }

                } // check_key()


                function first(ac, key){
                    insert_node=iframe_doc.createElement('span');
                    if(ac==event.altKey){
                        if(key==38){
                            insert_node.setAttribute('style', 'font-size:1.1em'); }
                        else if(key==40){
                            insert_node.setAttribute('style', 'font-size:0.9em'); }}
                    else if(ac==event.ctrlKey){
                        if(key==38){
                            insert_node.setAttribute('style', 'font-size:1.1em;'+
                                                     'line-height:0;background:transparent;'); }
                        else if(key==40){
                            insert_node.setAttribute('style', 'font-size:0.9em;'+
                                                     'line-height:0;background:transparent;'); }}

                    insert_node.textContent=range.toString();
                    try{
                        range.surroundContents(insert_node);
                        disp_tag(insert_node); }
                    catch(e){;}}


                function more(ac, key){
                    let span=clone.querySelector('span');
                    if(span){
                        let size_raw=span.style.getPropertyValue('font-size');
                        if(size_raw.indexOf('em')!=-1 && size_raw.indexOf('rem')==-1){
                            let size=parseFloat(size_raw.replace(/[^0-9\.]/g, ''));
                            if(key==38 && size<3){
                                size=Math.round((size+0.1)*10)/10; }
                            else if(key==40 && size>0.3){
                                size=Math.round((size-0.1)*10)/10; }
                            let size_css;
                            if(ac==event.altKey){
                                size_css='font-size:' +size+ 'em'; }
                            else if(ac==event.ctrlKey){
                                size_css='font-size:' +size+ 'em;'+
                                    'line-height:0;background:transparent;'; }

                            insert_node=iframe_doc.createElement('span');
                            insert_node.setAttribute('style', size_css);
                            insert_node.textContent=range.toString();
                            try{
                                range.deleteContents();
                                range.insertNode(insert_node);
                                disp_tag(insert_node); }
                            catch(e){;}}}

                    let br=clone.querySelector('br');
                    if(br){
                        more2(ac, key); }}


                function more2(ac, key){
                    if(range.startContainer.nodeType==Node.TEXT_NODE){
                        let latter=range.startContainer.splitText(range.startOffset);
                        range.setStartBefore(latter);
                        range.setEndAfter(latter);

                        insert_node=iframe_doc.createElement('span');
                        if(ac==event.altKey){
                            if(key==38){
                                insert_node.setAttribute('style', 'font-size:1.1em'); }
                            else if(key==40){
                                insert_node.setAttribute('style', 'font-size:0.9em'); }}
                        else if(ac==event.ctrlKey){
                            if(key==38){
                                insert_node.setAttribute('style', 'font-size:1.1em;'+
                                                         'line-height:0;background:transparent;'); }
                            else if(key==40){
                                insert_node.setAttribute('style', 'font-size:0.9em;'+
                                                         'line-height:0;background:transparent;'); }}

                        insert_node.textContent=range.toString();
                        try{
                            range.surroundContents(insert_node);
                            disp_tag(insert_node); }
                        catch(e){;}}}


                function disp_tag(inserted_node){
                    let lineheight;
                    if(inserted_node.style.lineHeight=='0'){
                        lineheight='♦' }
                    else{
                        lineheight=' ' }
                    let size=inserted_node.style.fontSize;

                    let cke_lavel;
                    if(ua_n==3){
                        cke_lavel=document.querySelector('#cke_6_text'); }
                    else{
                        cke_lavel=document.querySelector('#cke_7_text'); }

                    cke_lavel.textContent=lineheight + size;
                    cke_lavel.removeAttribute('id');
                    cke_lavel.parentNode.style.background='#2196f3';
                    cke_lavel.style.color='#fff';

                    setTimeout(()=>{
                        if(ua_n==3){
                            cke_lavel.parentNode.style.background='';
                            cke_lavel.style.color='';
                            cke_lavel.setAttribute('id', 'cke_6_text'); }
                        else{
                            cke_lavel.parentNode.style.background='';
                            cke_lavel.style.color='';
                            cke_lavel.setAttribute('id', 'cke_7_text'); }
                    }, 500); }
            }}} // flex_edit()

} // step_size()


 

 

 

「Editor Keeper ⭐📛」最新版について 

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

 

●「Editor Keeper ⭐📛」の最新バージョンへのリンクは、以下のページのリンクリストから探せます。