「Auto Style Attach ⭐」の機能
各種のアイコン画像を記事上に表示するには、「FontAwesome」絵文字などのWebフォントの利用が有効です。「Auto Style Attach ⭐」は、この「FontAwesome」の表示に必要な「styleタグ」を、自動的に記事本文の末尾に書き込みます。
また、「いいね」「コメント」「リブログ」の全てSNSボタン類を記事単位で非表示にする機能があります。 これも、専用の「styleタグ」を本文の末尾に書き込む事で実現しています。
これらの機能の詳細は、以下のページを参照ください。
基幹ツールに指定
編集画面では「Ameblo Wysiwyg ⭐」が「FontAwesome」の表示環境を確保します。 しかし、編集画面で絵文字が表示されていても、投稿されたブログ記事のページで絵文字を表示するのは、「Auto Style Attach ⭐」が書込む「styleタグ」です。
「FontAwesome」を利用しない方には無用ですが、これを利用するユーザーにとって、正しく記事に絵文字が表示される条件は、このツールにかかっているわけです。 そういう事から、「Auto Style Attach ⭐」を基幹ツールに指定しました。
基幹ツールの起動を監視するツール
今回の更新は、基幹ツールを監視する機能の実装に対応したものです。 この機能の詳細は以下のページを参照ください。
実際の更新は、以下の部分に起動を報告するコードを追加しています。
「Auto Style Attach ⭐」 ver. 1.6 28行~
コメントに「📛」を書き込んでいますが、これは今後の起動監視に関して、各ツールのメンテナンス上で、検索をし易くするためです。
他の更新をした部分
「SNSボタン」の非表示に関する「styleタグ」を、チェックしましたが、スマートフォンのブラウザでブログを参照した場合の「SNSボタン」の「class名」が変更されていました。 下は修正済のコードです。
「Auto Style Attach ⭐」 ver. 1.6 108行~
〔注〕
「SNSボタン」の非表示は、スマホ専用の「アメーバアプリ」で閲覧した場合には無効です。 上のコードは、スマホ上で動作するスマホ版ブラウザで閲覧した場合に有効なコードです。
「Auto Style Attach ⭐」を利用するには
このツールは Chrome / Edge / Firefox版の拡張機能「Tampermonkey」上で動作します。 以下に、このツールの導入手順を簡単に説明します。
❶「Tampermonkey」を導入します
◎ 使用しているブラウザに拡張機能「Tampermonkey」を導入する事が必要です。
既に「Tampermonkey」を導入している場合は、この手順 ❶ は不要です。
拡張機能の導入については、以下のページに簡単な説明があるので参照ください。
❷「Tampermonkey」にスクリプトを登録します
◎「Tampermonkey」の「+」マークの「新規スクリプト」タブを開きます。
◎「新規スクリプト」には、最初からテンプレートが記入されています。 これは全て削除して、完全に空白の編集枠に 下のコードをコピー&ペーストします。
〔コピー方法〕 軽量シンプルなツール「PreBox Button 」を使うと
コード枠内を「Ctrl+左Click」➔「Copy code 」を「左Click」
の操作で、掲載コードのコピーが可能になります。
◎ 最後に「ファイル」メニューの「保存」を押すと、ツールが使用可能になります。
〔 Auto Style Attach ⭐ 〕 ver. 1.6
// ==UserScript== // @name Auto Style Attach ⭐ // @namespace http://tampermonkey.net/ // @version 1.6 // @description 文書末尾に常設 styleタグを自動記入する // @author Ameba Blog User // @match https://blog.ameba.jp/ucs/entry/srventry* // @exclude https://blog.ameba.jp/ucs/entry/srventrylist.do* // @grant none // ==/UserScript== // 文書保存時(下書きを含む全投稿時)に常設 styleタグを書込みます // SNSボタン非表示を設定できます(PC表示のみ) let retry=0; let interval=setInterval(wait_target, 100); function wait_target(){ retry++; if(retry>10){ // リトライ制限 10回 1sec clearInterval(interval); } let target=document.getElementById('cke_1_contents'); // 監視 target if(target){ clearInterval(interval); main(); }} function main(){ sessionStorage.setItem("jslord_3", "1"); // 📛 let target=document.getElementById('cke_1_contents'); // 監視 target let monitor=new MutationObserver(catch_publish); monitor.observe(target, {childList: true}); // 通常・HTML編集切換による発火不能を防ぐ catch_publish(); function catch_publish(){ panel_add(); let all_check=document.querySelector('#allFlg'); if(all_check){ report(); all_check.onclick=function(event){ if(report()==-1){ // HTML表示でチェック不可能 event.preventDefault(); } else{ // 通常表示でのみチェック可能 if(report()==0){ insert_ptag(1); report(); } else if(report()==1){ insert_ptag(0); report(); }}}} function report(){ let editor_iframe=document.querySelector('.cke_wysiwyg_frame'); if(editor_iframe){ // iframe読込みが実行条件 let iframe_doc=editor_iframe.contentWindow.document; if(iframe_doc){ let iframe_body=iframe_doc.querySelector('body.cke_editable'); if(iframe_body){ let pts=iframe_body.querySelector('.pts'); if(pts){ all_check.checked=true; return 1; } else{ all_check.checked=false; return 0; }}}} else{ return -1; }} function insert_ptag(n){ let editor_iframe=document.querySelector('.cke_wysiwyg_frame'); if(editor_iframe){ // iframe読込みが実行条件 let iframe_doc=editor_iframe.contentWindow.document; if(iframe_doc){ let iframe_body=iframe_doc.querySelector('body.cke_editable'); if(iframe_body){ if(n==0){ let pts=iframe_body.querySelector('.pts'); if(pts){ pts.remove(); }} if(n==1){ // style_ptext を編集して SNSボタンの非表示内容を変更出来ます ⭕ let style_ptext= '<style class="pts" type="text/css">'+ '[data-uranus-component="entryAction"], '+ '[data-uranus-component="feedbacks"], '+ // 以下は 新タイプスキン対応で追加 '[data-uranus-component="entryShare"], '+ '[data-uranus-component="mainWidget"], '+ // 以下は 旧タイプスキン対応で追加(対応不要なら削除可) '.articleExLinkArea, '+ '.reblogArea, '+ '.commentArea, '+ '.pagingArea:nth-of-type(3), '+ // 以下は レトロタイプスキン対応で追加(対応不要なら削除可) '#exLinkBtn, '+ '#comment_module, '+ // 以下は スマホスキン対応 '._1oW7Td1- { display: none; }'+ '</style>'; iframe_body.insertAdjacentHTML('beforeend', style_ptext); } // style.ptsを追加 }}}} // insert_ptag(n) function panel_add(){ let l_comm=document.querySelector('.l-communication'); let p_comm=document.querySelector('.l-communication div:first-child'); let i_input=p_comm.querySelector('#allFlg'); if(!i_input){ let add_comm=p_comm.cloneNode(true); let c_title=add_comm.querySelector('h2'); c_title.textContent='全SNS機能'; let c_input=add_comm.querySelector('#commentFlg'); c_input.setAttribute('name', 'allFlg'); c_input.setAttribute('id', 'allFlg'); let allFlg_text=add_comm.querySelector('.spui-Checkbox-text'); allFlg_text.textContent='Close'; l_comm.insertBefore(add_comm, p_comm); } let commFlg_text=l_comm.querySelector('#commentFlg ~ .spui-Checkbox-text'); commFlg_text.textContent='Close'; let reblogFlg_text=l_comm.querySelector('#reblogFlg ~ .spui-Checkbox-text'); reblogFlg_text.textContent='Close'; } // panel_add() // 以下の style_text を編集すると 常設 styleタグ内容を変更出来ます ⭕ let style_text= '<style class="asa" type="text/css">'+ '@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"); '+ '</style>'; let submitButton=document.querySelectorAll('.js-submitButton'); submitButton[0].addEventListener('mousedown', insert_tag , false); submitButton[1].addEventListener('mousedown', insert_tag , false); function insert_tag(e){ let editor_iframe=document.querySelector('.cke_wysiwyg_frame'); if(editor_iframe){ // iframe読込みが実行条件 let iframe_doc=editor_iframe.contentWindow.document; if(iframe_doc){ let iframe_body=iframe_doc.querySelector('body.cke_editable'); if(iframe_body.querySelector('.asa')){ iframe_body.querySelector('.asa').remove(); } // 既に書込まれていたら削除して更新する iframe_body.insertAdjacentHTML('beforeend', style_text); }} // 記事末尾に style.asaを追加 else{ e.stopImmediatePropagation(); alert( " ⛔ Auto Style Attach\n"+ " 常設 styleタグ の書込み・更新のため\n"+ " 通常表示画面から投稿をしてください"); }} } // catch_publish() } // main()
「Auto Style Attach ⭐」最新版について
旧いバージョンの JavaScriptツールは、アメーバのページ構成の変更で動作しない場合があり、導入する場合は最新バージョンをお勧めします。
●「Auto Style Attach ⭐」の最新バージョンへのリンクは、以下のページのリンクリストから探せます。