Tambahkan tamat masa untuk pemuatan pautan CDN: laksanakan mekanisme tamat masa dalam teg Kepala
P粉709307865
P粉709307865 2023-09-11 17:44:04
0
1
528

Saya menggunakan CDN untuk memuatkan beberapa gaya. Ia berfungsi dengan baik untuk mesin tanpa proksi yang dikonfigurasikan. Tetapi kadangkala orang mungkin menggunakan proksi untuk menyambung ke halaman web yang tidak dapat diselesaikan oleh CDN, menyebabkan halaman itu mengambil masa yang lama untuk dimuatkan atau tidak dimuatkan langsung melainkan pengguna memaksa muat semula.

Adakah terdapat cara untuk menentukan atribut atau sesuatu pada HTML untuk mengelakkan cubaan memuatkan sumber apabila ia tidak dapat dihuraikan?

P粉709307865
P粉709307865

membalas semua(1)
P粉270891688

Setahu saya, tiada cara asli untuk berhenti memuatkan sumber. Malah, permintaan harus tamat masa secara automatik jika sumber tidak dapat diperoleh dalam keadaan biasa.

Kaedah ini agak membosankan, mungkin ada penyelesaian yang lebih baik untuk masalah khusus anda.

Tetapi anda boleh cuba mengalih keluar tag pautan daripada kepala dan masukkan skrip untuk mendapatkan kandungan cdn dan kemudian tambah secara dinamik tag gaya yang mengandungi kandungan ke kepala. Sesuatu seperti ini:

(function() {
  <script>
    const controller = new AbortController();
    const HOW_LONG_TO_WAIT_IN_MS = 5000;
    let loaded = false;

    fetch(URL_FOR_CDN, { signal: controller.signal })
      .then(response => response.text())
      .then(text => {
        document.head.append(`<style>${text}</style>`);
        loaded = true;
      });

      setTimeout(() => {
        if (!loaded) controller.abort();
      }, HOW_LONG_TO_WAIT_IN_MS);
})()
</script>

Anda perlu meletakkan skrip ini lebih awal dalam pengepala, yang pastinya akan melambatkan sedikit kelajuan memuatkan halaman.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan