「いいね!」ボタンは記事の単位で非表示にできない
「コメント」「リブログ」ボタンは、記事ごとに「表示/非表示」の選択が出来ます。 ところが「いいね!」ボタンは、ブログ全記事で「表示/非表示」の設定が可能ですが、記事個別には設定ができません。
(Amebaヘルプは出来る様に書いていますが、誤りだと思います)
特定のブログ記事だけ、「いいね!」をして欲しくない場合がありますが、そんな気持ちが読者に伝わるとは限らず、読んだと言う意味で「いいね!」が押される場合や、自動ツールで無作法な「いいね!」が押される事もあります。 でも、他の記事の「いいね!」は閉じたくないので、「いいね!」を受けるしかありません。
このあたりの改善は、何度もリクエストされている問題ですが、システム上の困難があるのか改善される気配がありません。
そこで、SNSボタンを纏めて非表示にする「styleタグ」を記事に書き込むツールを制作して、記事単位での SNSボタンの「表示/非表示」を実現しました。
この機能が使える環境
● 記事に書き込んだ「styleタグ」は、その記事を表示するページの範囲全体にCSSを適用します。 そのため、1ページに「複数記事表示」を設定している場合は、非表示指定をした記事が表示されたページ上の「他の記事」にも指定が適用されます。
これは「複数記事表示」の状態でのみ生じる問題で、影響された「他の記事」を個別に表示した場合は「いいね!」ボタン等は表示されます。
この問題は「ブログ記事の表示数」の設定を改めれば避けられます。「複数記事表示」はブログ独特のシステムですが、私は好ましいと思った事は一度もありません。 他の記事も見たい訪問者はページャーを使います。「複数記事表示」は、どこにページの区切りがあるのか判り難く、閲覧者が操作に迷うだけです。
▪この「ブログ記事の表示数」の設定は、以下のリンク先の画面で設定できます。
▪下の画面で「ブログ記事の表示数」を「1」に設定し、ページ下端の「保存」を押すと、「複数記事表示」が「単記事の表示」になります。
●「コメント」「リブログ」ボタンの投稿時指定に関わらず、全ての「SNSボタン」と「リブログ欄・コメント欄」を、設定をしたページだけ非表示にします。 非表示とするだけで、既にあるコメント等の削除は行いません。
● SNSボタン「非表示」を設定した記事は、再編集で開いて再設定すれば SNSボタン「表示」に戻す事ができます。
● PC版のブログ画面では「新タイプスキン」「旧タイプスキン」でSNSボタンのコードが異なります。 そこで、両タイプのスキンで共用できる「styleタグ」としました。
但し「レトロタイプスキン」に関しては、「styleタグ」のファット化を考慮して対象外としています。 もし必要があればコメントください。
● このツールは、スマホ画面上に表示されるSNSボタンに関しても、それを非表示にする「styleタグ」を記事本文に書き込みます。 しかし、アメブロの各種スマホ版アプリで表示される画面のCSSを全て掌握しているわけではないので、スマホの機種によっては、SNSボタンが非表示とならないかも知れません。
以下が記事に書き込まれる「styleタグ」の内容です。
「Auto Style Attach SNS ⭐ ver. 1.0」 72行
「Auto Style Attach SNS ⭐」の操作
SNSボタン「非表示」を指定する記事が頻繁にある場合は、「Tampermonkey」に「Auto Style Attach SNS ⭐」を登録し、常に「ON」として常駐して使用します。
また、SNSボタン「非表示」とする記事がたまにしかない場合は、その記事を設定する時だけ「Auto Style Attach SNS ⭐」を「ON」とし、他の場合は「OFF」とする使い方が適当です。
SNSボタン「非表示」を設定
「コメント」「リブログ」「公開範囲」の「設定パネル」が指定ボタンになります。 この「設定パネル」は「Ameblo Writer(Compact)」のアレンジを適用した編集画面では、下の様に横長で各種ボタンが並ぶパネルとして表示されます。
このパネルの、スイッチではない「コメント」等の表示部を「Click」すると、パネル自体に「赤枠」が表示されます。「赤枠」が表示された状態は、既に「styleタグ」が記入されています。
また、SNSボタン「非表示」を設定した記事を再編集で読み込んだ場合は、最初からこの「赤枠」が表示され、「styleタグ」が記入されている事を示します。
( 注:「styleタグ」は、HTML表示で記事末尾を調べると確認できます )
なお「Ameblo Writer(Compact)」のアレンジが無い場合は、「設定パネル」に相当する範囲は散漫です。 下は「styleタグ」が記入された状態の「赤枠」の表示です。
この範囲を「Click」する事で、SNSボタン「表示/非表示」を設定する事になります。
SNSボタン「非表示」の解除
「設定パネル」に「赤枠」が表示されている場合は、パネルのスイッチではない「コメント」などの表示部を「Click」すると、「赤枠」が消えます。 これは「styleタグ」が削除されて通常の記事に戻った事を意味します。
SNSボタン「非表示」の実際のブログ表示
このサンプルのブログページは、「いいね!」が5件、「コメント」が5件、既に書き込まれています。「Auto Style Attach SNS ⭐」は、記事投稿の最初からSNSボタンを「非表示」にするのが本来の扱い方です。 しかし、このサンプルの様に既に「いいね!」が押されたり「コメント」を受けた後でも設定は可能です。
◎ 以下は、SNSボタン「非表示」の設定前です。
◎「Auto Style Attach SNS ⭐」 を「ON」にしてこの記事を再編集し、「非表示」を設定すると、上図の赤枠の範囲が非表示になり、下の様な表示になります。
◎ 同じ記事のスマホでの表示です。(アメーバアプリの表示ではありません)
◎ SNSボタン「非表示」を設定すると、上の「赤枠」部が非表示になります。
「Auto Style Attach SNS ⭐」 ver. 1.0
このツールは Chrome・Edge / Firefox の拡張機能「Tampermonkey」上で動作します。 以下に、このツールの導入手順を簡単に説明します。
❶「Tampermonkey」を導入します
使用しているブラウザに拡張機能「Tampermonkey」を導入する事が必要です。 以下のページに簡単な導入の説明があるので参照ください。
❷「Tampermonkey」にスクリプトを登録します
●「Tampermonkey」の「+」マークの「新規スクリプト」タブを開きます。
●「新規スクリプト」には、最初からテンプレートが記入されています。 これは全て削除して、完全に空白の編集枠に 下のコードをコピー&ペーストします。
〔コピー方法〕 軽量シンプルなツール「PreBox Button 」を使うと
コード枠内を「Ctrl+左Click」➔「Copy code 」を「左Click」
の操作で、掲載コードのコピーが可能になります。
● 最後に「ファイル」メニューの「保存」を押すと、ツールが使用可能になります。
〔 Auto Style Attach SNS ⭐ 〕 ver. 1.0
// ==UserScript== // @name Auto Style Attach SNS ⭐ // @namespace http://tampermonkey.net/ // @version 1.0 // @description 記事単位でSNSボタン非表示にする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== 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(){ let target=document.getElementById('cke_1_contents'); // 監視 target let monitor=new MutationObserver(protect_publish); monitor.observe(target, {childList: true}); // 通常・HTML編集切換による発火不能を防ぐ protect_publish(); function protect_publish(){ let l_com=document.querySelector('.l-communication'); if(l_com){ report(); l_com.onclick=function(){ 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){ l_com.style.outline='auto'; l_com.style.outlineColor='red'; return 1; } else{ l_com.style.outline='none'; return 0; }}}}} 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= '[data-uranus-component="entryAction"], '+ '[data-uranus-component="feedbacks"], '+ // 以下は 新タイプスキン対応で追加 '[data-uranus-component="entryShare"], '+ '[data-uranus-component="mainWidget"], '+ // 以下は 旧タイプスキン対応で追加 '.articleExLinkArea, '+ '.reblogArea, '+ '.commentArea, '+ '.pagingArea:nth-of-type(3), '+ // 以下は スマホスキン対応 '._2UJLz0lB { display: none; }'; let insert_elem_p=iframe_doc.createElement('style'); insert_elem_p.appendChild(iframe_doc.createTextNode(style_ptext)); insert_elem_p.setAttribute('class', 'pts'); iframe_body.appendChild(insert_elem_p); }}}}} // 記事末尾に style.ptsを追加 } // protect_publish() } // main()
「Auto Style Attach SNS ⭐」最新版について
旧いバージョンの JavaScriptツールは、アメーバのページ構成の変更で動作しない場合があり、導入する場合は最新バージョンをお勧めします。
●「Auto Style Attach SNS ⭐」の最新バージョンへのリンクは、以下のページのリンクリストから探せます。