この"バックアップ'cssファイルとは何ですか?
-
22-08-2019 - |
質問
必要があります。話スタイルシート、 のみ 使用できない場合は、通話のスタイルシートから別の場所?
のようなこと:
<link rel="Stylesheet" type="text/css" href="http://cdn.somewhere.com/css/style.css" />
<link rel="Stylesheet" type="text/css" href="local/style.css" />
が のみ 電話の場合には、利用できますか?たくない2電話の場合は不要です。お願い致します。
編集:ことに気付いたので、私のCDN塞がないよう、タイル表示のサイト。っと多くの場所が同じブロック(ファイアウォールブロックwebアプリケーション).うにしたいと思いながら、"みcssからコピーします。
解決
これは、純粋なHTMLマークアップでは不可能です。ただし、例えば、簡単なスクリプトでの本のサーバー側を行うことができます(擬似コード)
if first style does not exist:
output <link> to second sheet
else
output <link> to primary sheet
実際には、しかし、あなたのスタイルシートは、ブラウザによってキャッシュされる可能性が高いので、それはほとんどのエンドユーザーに負担をかけないです。最初の「第2」のスタイルシートをロードし、プライマリシートをロードするように、単に第2のSを注文することができます。これは、二次シートで何かを上書きするための主要なシートを引き起こす...しかし、主シートが利用できなかった場合、二次シートがまだ意図したとおりに動作します。
他のヒント
JavaScript/AJAXが強く 推奨されません によりその予想外の動作を伝える事が出来るってクロスブラウザの互換性が、一部ユーザーに生まれ変わった。)
またま、私の存在をチェックを最初に指定のCSS サーバサイド 挿入しhrefます。
もう使えないってこのようなメカニズムを確認しい"というはできませんのでご注意ください。
いいえ、リンク要素自体は、(「ダム」)静的であるため。だからどちらかには、JavaScript、のGreaseMonkey必要があります(Firefoxの上にそれは、あまりにも、JavaScriptをだ)、またはあなたが本当に両方を求める必要があります。
同じCSSルール以前のものを上書きします:の順序は、しかし、IIRCは、異なっていなければなりません。だから、まず、ローカルファイルをインクルードして、外部の1をロードする必要があります。外部のいずれかが使用できない場合は、ローカルコピーが使用されます。
ローカルハードディスク上のCSSファイルを置く場合は、、これはかなり安いなります。
これは、ブラウザが常にファイルをダウンロードしないだろう、と述べました。それは、最初にそのキャッシュ内にコピーがまだ最新であるかどうかをチェックし、それがある場合、それは再度ファイルをダウンロードしません。
あなたは、デフォルトでは「local.css」を使用して新しいものをロードするためにはJavaScript(AJAXを使用)を使用することができます。 要求は、新しいCSSファイルを読み込むことができた場合、それはOK、それ以外の、あなただけの何かを変更します。
Ehmm...まcoudl使用す:
わからない場合、代替スタイルシートであるため、このことは、最初に失敗したんでみた場合には分かりませんが、こちらを読ん: リスト以外のチュートリアルの変更はスタイルシート
このには、JavaScriptによって達成することができます。 コードは次のようにする必要があります:
if( loadcss(first.css) == false) loadcss(second.css);
CSSはロードされているかどうloadcss機能チェックであります