2013年9月15日日曜日

「MyBlogList」ウィジェットの「favicon」が表示されない時の対策

今回もセカンドライフではなく、bloggerについてです。

何時の頃からか、bloggerの「マイブログリスト」ウィジェットがおかしい。
ファビコンが表示されていないのです。
※ 現在は修正して表示されています

「blogger、ファビコンが表示されない」で検索しても、結果に引っかかってくるのはアドレスバーやブックマークなどでのファビコン表示トラブル、そして特定ブラウザについてばかり。
ウィジェットであるマイブログリスト内のトラブルについて記述されている記事が見当たらない。
記事がないということは、エラーが起きているのは自分だけなのかと他のbloggerのソースを参照してみる事に。
なので今度は「blogspot」で検索してみましたが、なかなかマイブログリストを利用しているブログにたどり着けない。
仕方がないのでキーワードに「セカンドライフ」を加えた途端、ほとんどの皆さんが利用している模様 (゚Θ゚*)
一般のブロガーはあまり使用しないもんなんでしょうかね。

そして、ブログのソースを確認して気がついたこと。
それぞれ該当する同一箇所に下記一文がある。
  • ファビコンが表示されているブログ

    <img data-lateloadsrc='~/favicon.ico' height='16' width='16'/>

  • ファビコンが表示されていないブログ

    <input type='hidden' value='~/favicon.ico'/>

確かに自分のブログも「input」の方。
なんで「hidden」なんだろうとココを変更しても、変化なし。
手動で「<img data-lateloadsrc='~/favicon.ico' height='16' width='16'/>」を貼り付けても非表示のまま。

もしかしてbloggerの新ダッシュボードが正式導入されてから、テンプレートの関数やらが変更されたのかな。
何らかの原因でこのブログは、自動的に移行されなかったのかもしれない。
んで。
他に方法が思いつかなかったので、最後の手段。
テスト用に新ブログを立ち上げてテンプレートのソースを確認する。

<対策方法>
  1. ダッシュボードからテンプレートへ移動し、HTMLの編集画面へ
  2. ソースの該当箇所を確認
    HTMLテンプレートの修正部分を見つける ※ 「ウィジェットへ移動」から「BlogList1」を選択すると簡単にカーソルが該当箇所へ移動します
  3. 丁度中央あたりにある一文を確認

     <input expr:value='data:item.blogIconUrl' type='hidden'/>

    たった一文を変更するだけで修正完了 ※ 行数の隣に「▼」マークがある時は、クリックしてコードを展開してください
  4. 下記一文をコピー&ペーストして、上記一文と差し替える

     <img expr:data-lateloadsrc='data:item.blogIconUrl' height='16' width='16'/>

つまり。
<b:if cond='data:showIcon == &quot;true&quot;'>
  <input expr:value='data:item.blogIconUrl' type='hidden'/>
</b:if>

↓ 変更後

<b:if cond='data:showIcon == &quot;true&quot;'>
  <img expr:data-lateloadsrc='data:item.blogIconUrl' height='16' width='16'/>
</b:if>
…となればOK。
私の他にも、(マイブログリストの)ファビコンが表示されていない方々がいらっしゃいました。
コピペするだけで一瞬にして作業が終わるので修正してみてはいかがでしょうか。

結論。
もう少しセカンドライフのブログを閲覧して、勝手にブログリストに追加してみようかなと企んでみる |Θ゚) …。

2013年9月13日金曜日

Bloggerのプレビューがまれに効かなくなる

今回はセカンドライフには関係ない内容です。
このブログ、Bloggerについて。

公開してあるブログには異常がない。
にも関わらず新たな投稿記事を書いている途中で、プレビューが機能しなくなることがありました。
しかしよくよく見てみると、外部CSSが効いていないだけだったりします。
もちろん、独自に外部CSSを適用している場合に限ります。

この正常機能していないプレビュー画面のソースを確認してみると。
CSSに限らず、全てのリンクのアドレスが"<link href='http://www.~'>"から"<link href='//www.~'>"に変わっていました。

"http:"が省略された状態になっているので、異常プレビュー画面では"https:"が各アドレス冒頭にあると認識されてしまい、その結果、外部CSSのアドレスが"<link href='https://www.~'>"と変更されてしまったための誤作動だと思います。
事実、この異常なプレビュー画面のソースから外部CSSのリンクをクリックしてみると、サーバー名が実際のものと異なるとかで警告画面が表示されました。
※ ちなみに、他のリンクは"https://~"でも問題なく表示されました。

これはグーグル側の問題ではなくブラウザの問題?ではないかと思います。

このおかしな状態のダッシュボードが表示されているブラウザのタブから、いくらプレビューしても同じ結果。異常のままで変化はありませんでした。
テンプレート画面の「ブログで使用中」にある小さなプレビューですら、同様に外部CSSが機能しなくなっていました。
ところが新たなタブからブログを表示させ、上部Navbarの投稿ボタンから投稿リストに移動し、改めてプレビューを見てみると正常表示に戻ります。
新しいタブかウィンドウからダッシュボードを開き直すことで、正常に戻るということかもしれません。
原因は分かりませんが、もし同様の症状が出た際は一度試してみてはいかがでしょうか。

ただし、このエラーは今回を含め過去に2~3回程度しか経験したことがないので、そうそうあることでもないと思います。
また、確認出来たのは"Google Chrome"のみで他のブラウザの挙動は分かりません。
原因が分からないので再現のしようもないですし (;゚Θ゚)ゞ
※ 思いもかけず突然解決してしまったので、キャプチャー出来ませんでした

2009年9月26日土曜日

Blogger Hack

Bloggerに引っ越してきて、新ブログの調整が全て終わったと高をくくっていたsojuroです。

過去のスキン制作画像を見ようとこのブログを開いたところ。
重い。
sojuro本体によるブログ確認
ん~。なんで重いんだ?
見ると、スクロールバーが短い。
あれ?スキン・シェイプのカテゴリ(ラベル)ページの記事数が多い…?

Σ(゚Θ゚;)
そうだった!
ラベル単位とアーカイブ(年数)単位の記事表示数を調整するつもりだったのに…すっかり忘れてた!
出来るかどうか調べたまま、放置しとりましたがな。

それどころか。
ブロガーハックの参考にさせていただいた、ブログを探すのを忘れてた!

実はBloggerに移ってくる前に、どんなものなのか色々調べたり試したりしていたのです。Bloggerに引っ越すかどうか決める前のことでした。
結局他のブログをいじることなく、ここに来ちゃったんですけどね (´Θ`)

やば。
早速お礼のコメントをしに行かなくちゃ。
その前にそのブログを探さなきゃ。


……。
という訳で。
私が利用させていただいた機能と、ハックの仕方を説明されているブログのご紹介です。


<カレンダー>
「クリボウの Blogger 入門」 Blogger にもカレンダー

<ATOM全記事表示>
「クリボウの Blogger Tips」 Google ウェブマスターツールに全投稿を登録する方法

<Bloggerを携帯で閲覧>
「クリボウの Blogger Tips」 Blogger を携帯で見るためのツール

<パンくずリスト>
「Bloggerカスタマイズ情報ブログ」 Bloggerにパンくずリスト(Breadcrumbs)を導入する方法

<ブログ名と記事名の表示順変更(タイトルタグ)>
「Bloggerカスタマイズ情報ブログ」 Bloggerのタイトルの順番を、ページタイトル(PageName)の次にブログタイトル(BlogTitle)にする方法

<ラベルの記事表示数指定>

「Bloggerカスタマイズ情報ブログ」 Bloggerのラベルページに指定した記事数を表示させる方法

<アーカイブ(年)の記事表示数指定>
これは上記ブログを参考に、私が苦肉の策としてハックしたものです。
恐らく、邪道かつ強引なやり方だと思いますが…メモとして残しておきます (;゚Θ゚)
ただし、これはお勧めできません。詳しくは後述。

1. 「レイアウト」→「HTML の編集」を開く
2. 「ウィジェットのテンプレートを展開」にチェックを入れる
3. 「Ctrl+F」にて「expr:href='data:i.url'」を検索する
4. 三箇所ある内の最初の「expr:href='data:i.url'」のみ修正対象
5. 「expr:href='data:i.url + &quot;?redirect=false&amp;max-results=5&quot;'」に変更
※↑ 記事5つ表示の場合

「expr:href='data:i.url'」の二箇所目はおそらくプルダウン形式の場合(未確認)で、三箇所目は記事タイトルのリンクにあたります。


さて、お勧めできない理由ですが。
第一点。
「expr:href='data:i.url'」の最初(一箇所目)は、年月のリンクにあたるからです。
つまり。
「年単位」だけではなく、「月単位」の表示でもURLの最後に「&quot;?redirect=false&amp;max-results=5&quot;」が追加されるのです。
しかし、月単位の表示では効果はなく、その月の全ての記事が表示されます。
「月単位」のページでは無意味な記述なんですね。

第二点。
あまりにも不恰好なURL。
本来ならば、URLの最後は例えば「~max-results=47」などとなり、「47」の数字を変更するだけでいいのです。
しかし、テンプレートにある変数「data:i.url」には既に現在の記事総数が値として代入されてしまっているため、無理矢理「max-results」を上書き(?)している格好になっているのです。

しかも、試してみたら上手くいっただけで…。
本来の使い方ではないかもしれないですし (;゚Θ゚)y─┛~~


じゃーなんでやってんのさ~。
なんてことになりますが…。
Bloggerでも利用している画像表示の「Picasaウェブアルバム」。妙に重いときがありませんか?
ただでさえ画像を多用するブログなのに (||゚Θ゚)
なので、出来るだけ1ページの表示記事数は少なめにしたいのです。
スクロールも大変ですしね。

もっと他にいい方法がないかと、検索したり翻訳したり…色々見て回ったのですが見つけられなかったんでー。
こっそり元に戻すかも。


どなたかいい方法知りませんか~ ・゚・(ノΘ`)・゚・


あ、そうそう。
もしハックするのなら、前もって「テンプレートをすべてダウンロード」してバックアップしておいた方がいいですよ ヾ(゚Θ゚)



最後に、Bloggerの情報を公開されている上記ブログの方々。
この場を借りて御礼申し上げます。
感謝のお辞儀
ありがとうございます!