Chromeの拡張機能が突然消えた時の対処法 参考

今朝方、いつも通りに仕事場のPCでChrome を立ち上げたところ、なにやら見たことのないエラーメッセージが…。

一応(?)、そのまま立ち上がったもののブックマークが消えていたので、
普通に”Chromeの設定(右上のレンチマーク)”から表示させてみたところ、いつも通りに表示。

嫌な予感が漂いつつも作業に入るとなんか変…。

よくよく見てみると、なんと”拡張機能”が丸ごとすべて消えている状態…。

インストールしていた拡張機能名をすべて覚えている訳もなく、
どうしようかと思っていたところ、下記の記事を発見。

» インストール済みの拡張機能、テーマ、設定等が突然使用できなくなる。 – Chrome ヘルプフォーラム
https://www.google.com/support/forum/p/chrome/thread?tid=552fa83680d613ff&hl=ja

あまり遭遇する機会もないかと思いますが、また自分でやってしまいそうな気がするので、
参考までに簡単にまとめておきました。

以下順番。

①Preferences.bad ファイルを探す
記事中にあるように、Chrome がインストールされているフォルダ内の"Preferences.bad"ファイルを探す。
XPであれば、「C:\Documents and Settings\ユーザー名\Local Settings\Application Data\Google\Chrome\User Data\Default」になるかと。
②Preferences.bad を開いて、「"path": "」で始まる行を探す
"path": " に続く文字列がもともとインストールしていた拡張機能のIDになるそうです。
③Chrome Web Store で使っていた拡張機能を検索
「https://chrome.google.com/extensions/detail/[拡張機能のID]?hl=ja」でOK。※日本語の場合
ちなみに、IDは「"path": "bfbameneiokkgbdmiekhjnmfkcnldhhm\\0.3.1_0"」となっていれば\(円マークまたはバックスラッシュ前まで)赤字の部分です。※[]カッコなし
https://chrome.google.com/extensions/detail/bfbameneiokkgbdmiekhjnmfkcnldhhm?hl=ja といった感じです。
references.bad 内に「"path": "plugin/」とかといった、今回探している趣旨のIDではないパスもあります。

また、上記のChrome フォルダ内の Local Storage フォルダ内に、”chrome-extension_文字列_0.localstorage” というファイルが残っていれば、
以前使用していた拡張機能の設定をそのまま残せるようです。
※この「文字列」部分が拡張機能のIDでもあります。

エクステンション だけでなく、インストール していたアプリケーション のIDもPreferences.bad 内に記述されてました。
すでにChrome Web Store に存在していない拡張機能もありましたが、基本的には上記の手順で復活しました。

HTML5 reference – Contents Model

quote, HTML5.JP – 次世代HTML標準 HTML5情報サイト

About the contents model reference
https://www.html5.jp/tag/models/index.html#phrasing-content

■ヘッディング・コンテンツ
ヘッディング・コンテンツは、セクションのヘッダーを定義します( 明示的にセクショニング・コンテンツ要素を使ってマークアップしようが、ヘッディング・コンテンツ自身の存在によって示そうが、どちらでも構いません。 )。
h1 h2 h3 h4 h5 h6 hgroup

■セクショニング・コンテンツ
要素やセクショニング・ルート要素のアウトライン
セクショニング・コンテンツは、見出しやフッターの範囲を定義するコンテンツです。
article aside nav section
セクションとは、本来の DOM ツリーのいくつかのノードに相当するコンテナのことです。各セクションは、それに結びづけられた見出しをひとつ持つことができます。そして、さらに多くのネストしたセクションを含むことができます。 アウトラインに対して、このアルゴリズムはまた、DOMツリー内の各ノードを、特定のセクションおよび潜在的な見出しと結びづけます。

■テキストノード
要素ノードとテキストノードの関係は「親と子供」に似ています。
要素ノードは「親ノード」、テキストノードは「子ノード」と区別されます。
<親ノード>子ノード</親ノード>

■コンテンツ・モデル
本仕様で定義されている要素は、それぞれに、その要素に期待されるコンテンツの種類を表すコンテンツ・モデルを持ちます。HTML 要素には、その要素のコンテンツ・モデルで記述される要件に一致するコンテンツを入れなければいけません。

■エンベッディッド・コンテンツ
エンベッディッド・コンテンツとは、ドキュメントに他のリソースを組み込むコンテンツ、もしくは、ドキュメントに挿入される他の語彙のコンテンツのことです。
audio canvas embed iframe img math object svg video

■フォールバックコンテンツ
フォールバックとは、もしブラウザーが該当の要素に対応していない場合に、完全なものではないにせよ、何かしらの手段を提供することを意味します。同等の代替手段がない場合は、もしかしたら、「ご利用頂けません。」というメッセージになるかもしれませんが、これでも、何も表示されない状況と比べれは、いくらかはマシと言えるでしょう。

1
2
3
<canvas width="300" height="150">
  <!-- ここにフォールバックコンテンツを入れます。 -->
</canvas>

このように、canvas 要素の開始タグと終了タグの間に、フォールバックコンテンツを入れます。こうすることで、もしブラウザーが canvas 要素に対応していなかったり、JavaScript を無効にしていれば、フォールバックコンテンツが表示されることになります。
フォールバックコンテンツをどのようなものにするかは決まっていない。製作者次第。

■擬似要素使用
基本的にはclass 属性

change_history