これは#1576に相当するCSSスタイルシートです
プライマリのロードに失敗した場合にフォールバックスタイルシートの指定をロードできるようにするLinkTagHelper
。 失敗は、指定されたクラス名( asp-fallback-test-class
属性)を持つダミーの<meta>
タグを挿入し、その要素の計算されたスタイルをテストして、指定されたCSSプロパティ( asp-fallback-test-property
属性)は、指定された値( asp-fallback-test-value
)と同じです。
<link href=""
asp-fallback-href=""
asp-fallback-test-class=""
asp-fallback-test-property=""
asp-fallback-test-value="" />
タグヘルパーが動作するには、すべての属性が存在し、null以外である必要があります。 不足しているものがある場合は、警告とno-opをログに記録します。
| 属性名| タイプ| 詳細|
| --- | --- | --- |
| asp-fallback-href | string
| プライマリが失敗した場合にフォールバックするURL( href
属性で指定)|
| asp-fallback-test-class | string
| フォールバックテストに使用するスタイルシートで定義されたクラス名|
| asp-fallback-test-property | string
| フォールバックテストに使用するCSSプロパティ名|
| asp-fallback-test-value | string
| フォールバックテストに使用するCSSプロパティ値|
<link href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet"
asp-fallback-href="~/lib/bootstrap/css/bootstrap.min.css"
asp-fallback-test-class="hidden" asp-fallback-test-property="visibility" asp-fallback-test-value="hidden" />
<link href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" />
<meta name="x-stylesheet-fallback-test" class="hidden" />
<script>
(function (a, b, c) {
var d = document,
s = d.getElementsByTagName("SCRIPT"),
meta = s[s.length-1].previousSibling;
(d.defaultView.getComputedStyle(meta)[a] === b ||
d.write('\u003clink rel="stylesheet" href="' + c + '" /\u003e'));
})("visibility", "hidden", "/lib/bootstrap/css/bootstrap.min.css");
</script>
古い/クローズされた問題についてコメントして申し訳ありません。 特異なクラスを持たない.cssファイルをテストするオプションについての議論はありましたか?
2つの例:
dataTables.bootstrap.cssには、少なくとも2つのセレクターがtable.dataTable { ... }
ようにチェーンされていますが、スタンドアロンの.dataTable
クラスはありません。
skin-red.cssと同様に、 .skin-red .main-header .navbar { ... }
ような子孫セレクターのみがあり、スタンドアロンの.skin-red
クラスはありません。
@ kylef000は興味深いですが、注入された<meta />
要素を使用する場合のように、一般的な方法でそれをテストする方法がわかりません。
@DamianEdwardsああ、.skin-red-fallback-test { ... }
)を追加してから、使用している可能性のある特定のライブラリのPRを作成することです。
ご回答ありがとうございます。 C#のすべての作業に本当に感謝します!
最も参考になるコメント
古い/クローズされた問題についてコメントして申し訳ありません。 特異なクラスを持たない.cssファイルをテストするオプションについての議論はありましたか?
2つの例:
dataTables.bootstrap.cssには、少なくとも2つのセレクターが
table.dataTable { ... }
ようにチェーンされていますが、スタンドアロンの.dataTable
クラスはありません。skin-red.cssと同様に、
.skin-red .main-header .navbar { ... }
ような子孫セレクターのみがあり、スタンドアロンの.skin-red
クラスはありません。