cari

Rumah  >  Soal Jawab  >  teks badan

Tambahkan tamat masa untuk pemuatan pautan CDN: laksanakan mekanisme tamat masa dalam teg Kepala

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粉709307865P粉709307865430 hari yang lalu498

membalas semua(1)saya akan balas

  • P粉270891688

    P粉2708916882023-09-12 10:52:22

    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.

    balas
    0
  • Batalbalas