表示されてしまったリストタイトルのコメントアウト部分を再び非表示にするスクリプト
# なんとなく妙なタイトルですが…(^^;
▼経緯としては…
ココログフリーや今回のメンテ後のブログ人で、これまで便利に使っていた、マイリスト(私リスト)のタイトルを非表示にするための「コメントアウト技」が使えなくなってしまいました。
# つまり、<!-- LIST TITLE --> と書くと、今までは非表示になってくれていたのに、そのまま表示されてしまうようになった、ということです。
ココログ「フリー」コースだけでなくブログ人でもそうなってしまったことから、大本のTypePadの新しいバージョン(1.6 ?)が、そういう仕様に変更になってしまったものと思われます。(未確認ですが)
ということで、抜本的には、もう一度コメントアウト技が使えるよう、ココログやブログ人のスタッフの皆様にお願いするということしかないのですが、とりあえず、スタッフの皆さんが対応してくれるのを期待しつつ、コメントアウト技を再度有効にさせるスクリプトがあってもいいかと思い、簡単なヤツを作ってみました。
▼使い方
HTMLが書ける場所(マイリスト(私リスト)のメモ欄など)に、以下のコードをコピー&ペーストして変更を反映してください。
<script type="text/javascript"> <!-- (function(){ var es = document.getElementsByTagName('h2'); for (var i = 0, e; e = es[i]; i++) { e.innerHTML = e.innerHTML.replace(/<!--.*-->/g, ''); if (e.innerHTML=='') e.style.display = 'none'; } })() --> </script>
以上で完了です。
なお、新しいバージョンから、「メモ」タイプのリストが作れるようになったので、「HTMLが書ける場所」としては、このメモ欄が一番簡単でしょう。
もちろん、リンクタイプのリストでも、メモ欄をあらかじめ「テキスト表示」に設定しておけば、これまで通り同様、使えます。
▼注意点
なお、このスクリプトは、(ご覧のように簡単なものなので)設置箇所より「上」にあるタイトルのコメントアウト部分にしか効果がありません。したがって、消したい最後(一番右下)のタイトルのメモ欄か、その下ぐらいに設置してみてください。
また、このスクリプトは何度でも設置できる(はず)なので、タイトルが消えるまでの動作が遅いと思われたら、左に一つ、右に一つ、という風に、何箇所かに分けて設置してみてください。
なお、今回は、リストタイトルの内容がコメントアウト部分だけだった場合、文字は消えるんだけれども背景とか下線とかは残ってしまうわけですが、それらも不要だから一緒に消したいという要望が以前から多かったことを考慮して、それらも合わせて消してしまい、この余分な「間」が空かないように詰めるような規定動作にしてみました。
▼カスタマイズなど
上記の、隙間を詰める動作をしている部分が、以下の
if (e.innerHTML=='') e.stle.display = 'none';
の行なので、これまで通り、別に隙間を詰めなくてもいいという場合は、
// if (e.innerHTML=='') e.stle.display = 'none';
という感じで行頭に // をつけ、この行を無効にしてみてください。
# ただし、埋まる隙間はタイトルのあった部分だけで、リストとリストの間に元々ある隙間は、このスクリプトでは産めることが出来ませんので、完全に隙間を詰めてくれるわけではありません。
----
あと、余談ですが、この技を使いつつ、任意のタイトルだけ背景や下線だけ残すという方法も思いついたので、紹介しておきます。
どうするかというと、ちょっと裏技的なのですが、上記の if ~のところは // を付けずそのままにしておき、下線などを残しておきたいところだけ、リストタイトルの方の最後に空白を書き足してやる、という方法です。
つまり、
[<!-- LIST TITLE -->]
という[タイトル]があったとすると、
[<!-- LIST TITLE --> ]
という風に、[タイトル ]と、後ろに空白を入れてやる、ということです。
ちょっと無理やりですが、たぶん効果があると思います。(未検証ですが)
----
他にも応用はいろいろあると思うので、なにか思いついたら教えてください。また、なにかご希望やご質問などがあれば、それもお気軽にコメントください(^^)
最近のコメント