Ini adalah stylesheet CSS yang setara dengan #1576
LinkTagHelper
yang memungkinkan spesifikasi dari stylesheet fallback dimuat jika primer gagal dimuat. Kegagalan ditentukan dengan cara menyuntikkan tag <meta>
dummy dengan nama kelas tertentu ( atribut asp-fallback-test-class
) dan kemudian menguji gaya yang dihitung dari elemen tersebut untuk melihat apakah properti CSS tertentu ( asp-fallback-test-property
atribut) sama dengan nilai yang ditentukan ( asp-fallback-test-value
).
<link href=""
asp-fallback-href=""
asp-fallback-test-class=""
asp-fallback-test-property=""
asp-fallback-test-value="" />
Semua atribut harus ada dan tidak nol agar Tag Helper dapat beroperasi. Jika ada yang hilang, itu akan mencatat peringatan dan no-op.
| Nama Atribut | Ketik | Detail |
| --- | --- | --- |
| asp-fallback-href | string
| URL untuk mundur jika yang utama gagal (seperti yang ditentukan dalam atribut href
) |
| asp-fallback-test-class | string
| Nama kelas yang ditentukan dalam lembar gaya yang akan digunakan untuk uji mundur |
| asp-fallback-test-property | string
| Nama properti CSS yang akan digunakan untuk pengujian mundur |
| asp-fallback-test-value | string
| Nilai properti CSS yang akan digunakan untuk pengujian mundur |
<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>
Maaf untuk mengomentari masalah lama/tertutup. Apakah pernah ada diskusi tentang opsi untuk menguji file .css yang tidak memiliki kelas tunggal?
Dua contoh:
dataTables.bootstrap.css memiliki minimal dua selektor yang dirantai bersama seperti table.dataTable { ... }
tetapi tidak ada kelas .dataTable
berdiri sendiri.
Sama halnya dengan skin-red.css , hanya ada pemilih turunan seperti .skin-red .main-header .navbar { ... }
dan sekali lagi tidak ada kelas .skin-red
berdiri sendiri.
@kylef000 itu menarik, saya tidak yakin bagaimana orang akan mengujinya secara umum seperti yang kita lakukan menggunakan elemen <meta />
disuntikkan.
@DamianEdwards Ah, baiklah. Saya tidak melihat banyak pertanyaan mengenai hal ini dalam pencarian sepintas saya tentang masalah ini, jadi itu mungkin bukan sesuatu yang layak untuk diinvestasikan waktu. Mungkin cara terbaik untuk mengatasinya adalah dengan fork, tambahkan kelas pengujian (seperti .skin-red-fallback-test { ... }
) di dalam file individual, lalu buat PR untuk perpustakaan mana pun yang mungkin digunakan.
Terima kasih atas tanggapannya. Sangat menghargai pekerjaan Anda pada semua hal C#!
Komentar yang paling membantu
Maaf untuk mengomentari masalah lama/tertutup. Apakah pernah ada diskusi tentang opsi untuk menguji file .css yang tidak memiliki kelas tunggal?
Dua contoh:
dataTables.bootstrap.css memiliki minimal dua selektor yang dirantai bersama seperti
table.dataTable { ... }
tetapi tidak ada kelas.dataTable
berdiri sendiri.Sama halnya dengan skin-red.css , hanya ada pemilih turunan seperti
.skin-red .main-header .navbar { ... }
dan sekali lagi tidak ada kelas.skin-red
berdiri sendiri.