Rumah  >  Soal Jawab  >  teks badan

javascript - Mengenai penyekatan penyegerakan load() jquery

Sekarang kita perlu memuatkan pengepala dan pengaki halaman secara berasingan dalam halaman utama Prestasi menggunakan iframe adalah tidak baik, dan halaman html tulen tidak boleh digunakan untuk memuatkan halaman secara langsung menggunakan kaedah include php yang saya ada tidak mengetahui cara mengimport templat rangka kerja seperti React dan angular Ya, jadi selepas banyak pertimbangan, hanya load() jquery boleh digunakan untuk memuatkannya disekat, dan pengalaman halaman akan menjadi sangat teruk.

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.

Sekarang soalan saya ialah:
1. Bolehkah kaedah pemuatan ditetapkan kepada pemuatan tak segerak seperti kaedah ajax $.get atau $.post untuk mengelak daripada menyekat utas utama? Bagaimanakah cara saya menyelesaikan masalah penyekatan benang utama yang disebabkan oleh load()?
Saya telah membaca maklumat yang berkaitan dan nampaknya menggunakan h5 Worker boleh mengelakkan sekatan benang utama Adakah ini satu-satunya cara untuk menyelesaikannya?

2. Untuk keperluan saya, sebagai tambahan kepada kaedah yang dinyatakan dalam artikel saya, bagaimanakah saya harus menyelesaikannya dalam situasi semasa saya yang manakah kaedah dalam pembangunan syarikat yang terbaik untuk menyelesaikan pemuatan pengepala dan pengaki?

Alu-alukan bantuan semua orang untuk menyelesaikan masalah, terima kasih!

天蓬老师天蓬老师2682 hari yang lalu590

membalas semua(3)saya akan balas

  • 滿天的星座

    滿天的星座2017-05-19 10:22:45

    load() dimuatkan secara tidak segerak secara lalai dan tidak akan menyebabkan utas utama disekat. Jadi masalah penyekatan penyegerakan dalam amaran tidak disebabkan oleh satu beban() di sini. Saya kemudiannya menyemak subhalaman dan mendapati terdapat <skrip src="*"> Jadi pengenalan js luaran dalam sub-halaman telah dialih keluar, dan amaran itu hilang. Jadi ia adalah amaran menyekat penyegerakan yang disebabkan oleh pengenalan js luaran dalam load() dan sub-halaman.

    balas
    0
  • ringa_lee

    ringa_lee2017-05-19 10:22:45

    1. Lapisan bawah kaedah ini memanggil kaedah $.ajax() untuk membuat permintaan ajax kepada pelayan. Oleh itu, ia dimuatkan secara tak segerak secara lalai dan tidak akan menyebabkan utas utama disekat.
    . Walau bagaimanapun, kerana lalai adalah pemuatan tak segerak, ini mungkin berlaku Bahagian utama halaman dipaparkan dahulu, dan kemudian data pengepala dan pengaki bahagian pelayan dikembalikan dan dimasukkan ke dalam halaman halaman, pengepala dan pengaki tidak dipaparkan Jika ia muncul pada masa yang sama, ia akan berkelip.
    2 Situasi yang saya hadapi ialah pengepala dan pengaki halaman agak tetap, jadi saya boleh membuat halaman templat, dengan pengepala dan pengaki ditulis di dalamnya, dan kemudian membenamkan iframe di bahagian utama halaman, dan tetapkan alamat iframe mengikut situasi Tuding ke halaman khusus yang sepadan.

    balas
    0
  • 某草草

    某草草2017-05-19 10:22:45

    1Sudah tentu.

    var html = $.get('xx.yy');
    $('selector').html(html);
    

    2. Saya biasanya membuat kepala dan ekor, ditambah kandungan, untuk membuat base.html Apabila menggunakan PHP, ia akan memanjangkan base.html
    .

    balas
    0
  • Batalbalas