cari
Rumahhujung hadapan webTutorial H5Pengenalan ringkas kepada import fail dalam kemahiran tutorial HTML5_html5

Templat, Shadow DOM dan Elemen Tersuai menjadikannya lebih mudah berbanding sebelum ini untuk membuat komponen UI. Tetapi sumber seperti HTML, CSS dan JavaScript masih perlu dimuatkan satu demi satu, yang sangat tidak cekap.

Mengalih keluar kebergantungan pendua juga tidak mudah. Sebagai contoh, memuatkan jQuery UI atau Bootstrap kini memerlukan penambahan tag berasingan untuk JavaScript, CSS dan Fon Web. Jika komponen web anda menggunakan berbilang kebergantungan, perkara menjadi lebih rumit.

Import HTML membolehkan anda memuatkan sumber ini sebagai fail HTML gabungan.
Import menggunakan HTML

Untuk memuatkan fail HTML, anda perlu menambah teg pautan yang atribut relnya ialah import dan atribut herf ialah laluan fail HTML. Contohnya, jika anda ingin memuatkan component.html ke dalam index.html:

index.html

Kod XML/HTMLSalin kandungan ke papan keratan
  1. pautan rel="import" href="komponen.html" >

Anda boleh mengimport fail ke dalam HTML (Nota Penterjemah: Artikel ini menterjemahkan "HTML yang diimport" sebagai "fail import HTML" dan "HTML asal" sebagai "fail utama HTML". Contohnya, index.html ialah HTML Yang utama fail, component.html ialah fail import HTML.) Tambahkan sebarang sumber, termasuk skrip, helaian gaya dan fon, sama seperti menambahkan sumber pada HTML biasa.

komponen.html

Kod XML/HTMLSalin kandungan ke papan keratan
  1. pautan rel="stylesheet" href="css/style.css">
  2. skrip src="js/ script.js">skrip>

teg doctype, html, kepala dan badan tidak diperlukan. Import HTML segera memuatkan dokumen yang diimport, menghuraikan sumber dalam dokumen dan melaksanakan skrip jika ada.
Perintah pelaksanaan

Cara penyemak imbas menghuraikan dokumen HTML adalah linear, yang bermaksud bahawa skrip di bahagian atas HTML akan dilaksanakan sebelum bahagian bawah. Selain itu, pelayar biasanya menunggu sehingga kod JavaScript dilaksanakan sebelum menghuraikan kod berikutnya.

Untuk mengelakkan skrip daripada menghalang pemaparan HTML, anda boleh menambah atribut tak segerak atau tangguh pada teg (atau anda juga boleh meletakkan teg skrip di bahagian bawah halaman). Atribut tangguh menangguhkan pelaksanaan skrip sehingga semua halaman telah dihuraikan. Atribut async membenarkan penyemak imbas untuk melaksanakan skrip secara tidak segerak supaya ia tidak menghalang pemaparan HTML. Jadi, bagaimanakah import HTML berfungsi?

Skrip dalam fail import HTML adalah sama seperti yang mengandungi atribut defer. Contohnya, dalam contoh berikut, index.html akan melaksanakan script1.js dan script2.js dahulu, dan kemudian script3.js.

index.html

Kod XML/HTMLSalin kandungan ke papan keratan
  1. pautan rel="import"  href="component.html"> // 1.   
  2. tajuk>Import Contohtajuk>  
  3. skrip src="skrip3. js">skrip>       // 4.  

komponen.html
 

Kod XML/HTML复制内容到剪贴板
  1. skrip src="js/script1.js ">skrip>     // 2.   
  2. skrip src="js/ script2.js">skrip>     // 3.  

1.在index.html 中加载komponen.html并等待执行

2.执行component.html中的script1.js

3. 执行完script1.js后执行component.html中的script2.js

4. 执行完 script2.js继而执行index.html中的script3.js

注意,如果给link[rel="import"]添加async属性,HTML导入会把它当做含有async属性的脚本来对待中它当做含有async属性的脚本来对待待它当做含有async属性的脚本来对待待它HTML件的执行和加载,这意味着HTML 导入不会妨碍HTML主文件的渲染。这也给提升网站性本能带来了可能,除非有其他的脚依的脚依行。
跨域导入

从根本上说,HTML导入是不能从其他的域名导入资源的。

比如,你不能从http://webcomponents.org/向 http://example.com/ 导入HTML 文件。为了绕过这个限制,可以使用语。想了解CORS,请看这篇文章。
HTML导入文件中的window和document对象

前面我提过在导入HTML文件的时仙里面的脚本是会被执行的,但这并不意味着中文的被执行的,但这并不意味着來中文会被浏览器渲染。你需要写一些JavaScript代码来帮忙。

当在HTML导入文件中使用JavaScript时,有一点要提防的是,HTML导入文件中的document对象实际的是件中的document对象实际的有象实际的是件ment对象。以前面的代码为例,index.html和  component.html 的document都是指index.html的document对象。怎么才能使用HTML导入文件中的document 呢?借助link中的import 。🞽

index.html

 

Kod XML/HTML复制内容到剪贴板
  1. var pautan = dokumen.querySelector('link[rel ="import"]');
  2. link.addEventListener('load', function(e) {
  3. var Dokumen yang diimport = pautan.import
  4. // importedDoc menunjuk ke dokumen di bawah component.html
  5. });

Untuk mendapatkan objek dokumen dalam component.html, gunakan document.currentScript.ownerDocument.

komponen.html

Kod XML/HTMLSalin kandungan ke papan keratan
  1. var mainDoc = dokumen.currentScript.ownerDocument;
  2. // mainDoc menunjuk ke dokumen di bawah component.html

Jika anda menggunakan webcomponents.js, maka gunakan document._currentScript dan bukannya document.currentScript. Garis bawah digunakan untuk mengisi atribut currentScript kerana tidak semua pelayar menyokong atribut ini.

komponen.html


Kod XML/HTMLSalin kandungan ke papan keratan
  1. var mainDoc = dokumen._currentScript.ownerDocument;
  2. // mainDoc menunjuk ke dokumen di bawah component.html

Dengan menambahkan kod berikut pada permulaan skrip, anda boleh mengakses objek dokumen dengan mudah dalam component.html tanpa mengira sama ada penyemak imbas menyokong import HTML.

document._currentScript = document._currentScript ||.document.currentScript;
Pertimbangan prestasi

Satu faedah menggunakan import HTML ialah untuk menyusun sumber, tetapi ini juga bermakna apabila memuatkan sumber ini, pengepala menjadi terlalu besar disebabkan penggunaan beberapa fail HTML tambahan. Terdapat beberapa perkara yang perlu dipertimbangkan:
Menyelesaikan kebergantungan

Apakah yang berlaku jika fail HTML utama bergantung pada berbilang fail import dan fail import mengandungi pustaka yang sama? Contohnya, jika anda ingin memuatkan jQuery daripada fail import, jika setiap fail import mengandungi teg skrip yang memuatkan jQuery, maka jQuery akan dimuatkan dua kali dan dilaksanakan dua kali.

index.html

Kod XML/HTMLSalin kandungan ke papan keratan
  1. pautan rel="import" href="komponen1.html">
  2. pautan rel="import" href="komponen2.html">

komponen1.html

Kod XML/HTMLSalin kandungan ke papan keratan
  1. skrip src="js/jquery.js ">skrip> 

component2.html

Import HTML secara automatik menyelesaikan masalah ini untuk anda.

Berbeza daripada memuatkan teg skrip dua kali, import HTML tidak lagi memuatkan dan melaksanakan fail HTML yang telah dimuatkan. Mengambil kod sebelumnya sebagai contoh, dengan membungkus teg skrip yang memuatkan jQuery ke dalam fail import HTML, jQuery hanya dimuatkan dan dilaksanakan sekali.

Tetapi ada masalah: kami telah menambahkan fail untuk dimuatkan. Bagaimana untuk menangani bilangan fail yang semakin meningkat? Nasib baik, kami mempunyai alat yang dipanggil vulcanize untuk menyelesaikan masalah ini.
Gabungkan permintaan rangkaian

Vulcanize boleh menggabungkan berbilang fail HTML ke dalam satu fail, dengan itu mengurangkan bilangan sambungan rangkaian. Anda boleh memasangnya dengan npm dan menggunakannya dari baris arahan. Anda juga mungkin menggunakan grunt dan gulp untuk menganjurkan beberapa tugasan, dalam hal ini anda boleh memvulkan sebagai sebahagian daripada proses binaan.

Untuk menyelesaikan kebergantungan dan menggabungkan fail import dalam index.html, gunakan arahan berikut:


Salin kod
Kodnya adalah seperti berikut:
$ vulcanize -o vulcanized.html index.html

Dengan melaksanakan arahan ini, kebergantungan dalam index.html akan dihuraikan dan fail HTML gabungan yang dipanggil vulcanized.html akan dijana. Untuk mengetahui lebih lanjut mengenai pemvulkanan, lihat di sini.

Nota: Ciri tolak pelayan http2 sedang dipertimbangkan untuk penghapusan masa depan pemautan dan penggabungan fail.
Gabungkan Templat, Shadow DOM, elemen tersuai dan import HTML

Mari gunakan import HTML untuk kod untuk siri artikel ini. Anda mungkin tidak pernah melihat artikel ini sebelum ini, jadi izinkan saya menerangkannya dahulu: Templat membolehkan anda mentakrifkan kandungan elemen tersuai anda secara deklaratif. Shadow DOM membenarkan gaya, ID dan kelas elemen hanya digunakan pada dirinya sendiri. Elemen tersuai membolehkan anda menyesuaikan teg HTML. Dengan menggabungkan ini dengan import HTML, komponen web tersuai anda menjadi modular dan boleh digunakan semula. Sesiapa sahaja boleh menggunakannya dengan menambahkan teg Pautan.

x-component.html


Kod XML/HTMLSalin kandungan ke papan keratan
  1. template id="template" >  
  2.   gaya>  
  3.     ...   
  4.   gaya>  
  5.   div id="bekas" >  
  6.     img src="http: //webcomponents.org/img/logo.svg">  
  7.     kandungan pilih="h1" >kandungan>  
  8.   div>  
  9. templat>  
  10. skrip>  
  11.   // Elemen ini akan didaftarkan ke index.html   
  12.   // Kerana `dokumen` di sini bermaksud yang dalam index.html   
  13.   var XComponent = dokumen.registerElement('x-component', {   
  14.     prototaip: Object.create(HTMLElement.prototype, {   
  15.       diciptaPanggil Balik: {   
  16.         nilai: function() {   
  17.            var root = ini.createShadowRoot();   
  18.            var templat = dokumen.querySelector('#template');   
  19.           var klon = dokumen.importNode(template.content, true);   
  20.           root.appendChild(klon);   
  21.         }   
  22.       }   
  23.     })   
  24.   });   
  25. skrip>  

index.html
 

Kod XML/HTML复制内容到剪贴板
  1. ...
  2. pautan rel="import" href="x-component.html">
  3. kepala>
  4. badan>
  5. x-komponen>
  6.  h1>Ini ialah Elemen Tersuaih1>
  7. x-komponen>
  8. ...

Perhatikan bahawa kerana objek dokumen dalam x-component.html adalah sama dengan index.html, anda tidak perlu menulis sebarang kod rumit, ia akan didaftarkan secara automatik untuk anda.
Pelayar yang disokong

Chrome dan Opera menyediakan sokongan untuk import HTML, dan Firefox tidak akan menyokongnya sehingga Disember 2014 (Mozilla menyatakan bahawa Firefox tidak bercadang untuk menyediakan sokongan untuk import HTML dalam masa terdekat, dengan mendakwa bahawa ia perlu terlebih dahulu memahami cara modul ES6 dilaksanakan).

Anda boleh pergi ke chromestatus.com atau caniuse.com untuk menyemak sama ada penyemak imbas menyokong import HTML. Jika anda ingin menggunakan import HTML pada penyemak imbas lain, anda boleh menggunakan webcomponents.js (dahulu platform.js).
Sumber Berkaitan

Itu sahaja untuk import HTML. Jika anda ingin mengetahui lebih lanjut tentang import HTML, sila pergi ke:

Import HTML: #include untuk web – HTML5Rocks
Spesifikasi Import HTML

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Memahami Kod H5: Asas HTML5Memahami Kod H5: Asas HTML5Apr 17, 2025 am 12:08 AM

HTML5 adalah teknologi utama untuk membina laman web moden, menyediakan banyak elemen dan ciri -ciri baru. 1. HTML5 memperkenalkan unsur -unsur semantik seperti, dan lain -lain, yang meningkatkan struktur laman web dan SEO. 2. Sokongan unsur multimedia dan menanamkan media tanpa pemalam. 3. Borang meningkatkan jenis input baru dan sifat pengesahan, memudahkan proses pengesahan. 4. Menawarkan fungsi storan luar talian dan tempatan untuk meningkatkan prestasi laman web dan pengalaman pengguna.

Kod H5: Amalan Terbaik untuk Pemaju WebKod H5: Amalan Terbaik untuk Pemaju WebApr 16, 2025 am 12:14 AM

Amalan terbaik untuk kod H5 termasuk: 1. Gunakan pengisytiharan dan pengekodan watak yang betul; 2. Gunakan tag semantik; 3. Mengurangkan permintaan HTTP; 4. Gunakan pemuatan asynchronous; 5. Mengoptimumkan imej. Amalan ini dapat meningkatkan kecekapan, penyelenggaraan dan pengalaman pengguna halaman web.

H5: Evolusi piawaian dan teknologi webH5: Evolusi piawaian dan teknologi webApr 15, 2025 am 12:12 AM

Piawaian dan teknologi web telah berkembang dari HTML4, CSS2 dan JavaScript mudah setakat ini dan telah menjalani perkembangan yang ketara. 1) HTML5 memperkenalkan API seperti kanvas dan webstorage, yang meningkatkan kerumitan dan interaktiviti aplikasi web. 2) CSS3 menambah fungsi animasi dan peralihan untuk menjadikan halaman lebih berkesan. 3) JavaScript meningkatkan kecekapan pembangunan dan kebolehbacaan kod melalui sintaks moden node.js dan ES6, seperti fungsi anak panah dan kelas. Perubahan ini telah mempromosikan pembangunan pengoptimuman prestasi dan amalan terbaik aplikasi web.

Adakah H5 adalah singkat untuk HTML5? Meneroka butiranAdakah H5 adalah singkat untuk HTML5? Meneroka butiranApr 14, 2025 am 12:05 AM

H5 bukan sekadar singkatan HTML5, ia mewakili ekosistem teknologi pembangunan web moden yang lebih luas: 1. H5 termasuk HTML5, CSS3, JavaScript dan API dan Teknologi yang berkaitan; 2. Ia menyediakan pengalaman pengguna yang lebih kaya, interaktif dan lancar, dan boleh berjalan dengan lancar pada pelbagai peranti; 3. Menggunakan timbunan teknologi H5, anda boleh membuat laman web responsif dan fungsi interaktif yang kompleks.

H5 dan HTML5: Istilah yang biasa digunakan dalam pembangunan webH5 dan HTML5: Istilah yang biasa digunakan dalam pembangunan webApr 13, 2025 am 12:01 AM

H5 dan HTML5 merujuk kepada perkara yang sama, iaitu HTML5. HTML5 adalah versi kelima HTML, membawa ciri -ciri baru seperti tag semantik, sokongan multimedia, kanvas dan grafik, penyimpanan luar talian dan penyimpanan tempatan, meningkatkan ekspresi dan interaktiviti laman web.

Apa yang dirujuk oleh H5? Meneroka konteksApa yang dirujuk oleh H5? Meneroka konteksApr 12, 2025 am 12:03 AM

H5referstohtml5, apivotaltechnologyinwebdevelopment.1) html5introducesnewelementsandapisforrich, dynamicwebapplications.2) itsupp ortsmultimediawithoutplugins, enhancusexperienceaceacrossdevices.3) SemantikelementsImproveContentstructureandseo.4) H5'srespo

H5: Alat, Rangka Kerja, dan Amalan TerbaikH5: Alat, Rangka Kerja, dan Amalan TerbaikApr 11, 2025 am 12:11 AM

Alat dan kerangka yang perlu dikuasai dalam pembangunan H5 termasuk Vue.js, React dan Webpack. 1.vue.js sesuai untuk membina antara muka pengguna dan menyokong pembangunan komponen. 2. Leact mengoptimumkan rendering halaman melalui DOM maya, sesuai untuk aplikasi yang kompleks. 3.WebPack digunakan untuk pembungkusan modul dan mengoptimumkan beban sumber.

Warisan HTML5: Memahami H5 pada masa kiniWarisan HTML5: Memahami H5 pada masa kiniApr 10, 2025 am 09:28 AM

Html5hassignificlylylectransformedwebdevelopmentbyintroducingsemanticelements, enhancingmultimediasupport, andimprovingperformance.1) itmadewebebsitesmoreaccessibleandseo-friendlywithSemhyViVeShive, dan

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

PhpStorm versi Mac

PhpStorm versi Mac

Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual