iBooks は、夜間モードがアクティブなときにブックの一部のセクションを異なるスタイル (より明るい色) にできるようにするために、CSS クラスなどを追加しますか?
3 に答える
計算されたスタイル
を試してみてくださいwindow.getComputedStyle(document.body).backgroundColor
。これはテストされていません。
編集: getComputedStyle に関して、私の間違い - 背景色 (iBooks が使用しているものと仮定) は継承されないため、getComputedStyle は何も購入しません。HTML 要素のスタイリングにはさまざまなレベルのサポートがあるため (HTML4 は技術的に HTML 要素のスタイル属性を許可していません)、理論的には継承トリックが機能しなかった可能性があります。私は固執するだろう
alert(document.documentElement.style.backgroundColor);
何がポップアップするかを確認します。別のブルートフォースアプローチは、
alert(document.documentElement.outerHTML);
アラート ボックスには膨大な量の情報が表示されますが、スクロールする必要があり、役立つ情報が表示される場合があります。
FWIW、Readium は明らかに html 要素の背景色 rgb(20,20,20) でナイト モードを実行します。
メディア クエリ
Apple は、ユーザーが iBooks 3.0 で新しいスクロール モードを使用しているかどうかを検出するために、独自のメディア クエリ "paginated" および "nonpaginated" を導入したと報告されています。ダーク テーマ (実際には「夜」と呼ばれる) のメディア クエリが導入された可能性がありますが、推測にすぎません。いずれにせよ、私の知る限り、メディア クエリを列挙する方法はありません。したがって、それを見つけようとするのは純粋な試行錯誤のプロセスになります。
iBooks を使用しなくても、ナイト モード用の別の CSS を追加できます。このタグを
<link rel="stylesheet" href="nightmode.css" class="night" />
別の解決策は、カスタム メディア クエリを css ファイルに作成することです。
/* Sepia */
@media sepia {
* { color: #000000; }
body { background-color: #eae4d3; }
}
/* Black */
@media black {
* { color: #ffffff; }
body { background-color: #000000; color: #ffffff; }
}
/* White */
@media white {
* { color: #000000; }
body { background-color: #ffffff; }
}