Saya punya 2 file HTML, misalkan Di JSF saya bisa melakukannya seperti itu:
Ini berarti bahwa di dalam Bagaimana kita
melakukannya dalam Jawaban: Menurut pendapat saya solusi terbaik menggunakan jQuery:
Metode ini adalah solusi sederhana dan bersih untuk masalah saya.
Memperluas jawaban lolo dari atas, berikut ini sedikit otomatisasi jika Anda harus memasukkan banyak file:
Dan kemudian memasukkan sesuatu ke dalam html:
Yang akan mencakup tampilan file / header.html dan tampilan / footer.html Solusi saya mirip dengan salah satu lolo di atas. Namun, saya memasukkan kode HTML melalui dokumen JavaScript. Menulis alih-alih menggunakan jQuery: a.html:
b.js:
Alasan saya tidak menggunakan jQuery adalah karena jQuery.js berukuran ~ 90kb, dan saya ingin menjaga jumlah data yang dimuat sekecil mungkin. Untuk mendapatkan file JavaScript yang lolos dengan benar tanpa banyak pekerjaan, Anda dapat menggunakan perintah sed berikut:
Atau cukup gunakan skrip bash praktis berikut yang diterbitkan sebagai Inti pada Github, yang mengotomatiskan semua pekerjaan yang diperlukan, mengonversi Penghargaan untuk Greg Minshall untuk perintah sed yang ditingkatkan yang juga lolos dari garis miring dan kutipan tunggal, yang tidak dipertimbangkan oleh perintah sed asli saya. Atau untuk browser yang mendukung literal templat , yang berikut ini juga berfungsi: b.js:
Plug tak tahu malu dari perpustakaan yang saya tulis menyelesaikan ini. https://github.com/LexmarkWeb/csi.js
Di atas akan mengambil konten Sisi server sederhana termasuk arahan untuk memasukkan file lain yang ditemukan di folder yang sama terlihat seperti ini:
Tidak perlu skrip. Tidak perlu melakukan hal-hal sisi server mewah (tho yang mungkin akan menjadi pilihan yang lebih baik)
Karena browser lama tidak mendukung mulus, Anda harus menambahkan beberapa css untuk memperbaikinya:
Perlu diingat bahwa untuk peramban yang tidak mendukung mulus, jika Anda mengklik tautan di iframe itu akan membuat
bingkai masuk ke url itu, bukan keseluruhan jendela. Cara untuk menyiasatinya adalah dengan memiliki semua tautan Sebuah solusi yang sangat lama saya memang memenuhi kebutuhan saya saat itu, tapi inilah cara melakukannya dengan kode yang sesuai standar:
Sebagai alternatif, jika Anda memiliki akses ke file .htaccess di server Anda, Anda dapat menambahkan arahan sederhana yang akan memungkinkan php ditafsirkan pada file yang diakhiri dengan ekstensi .html.
Sekarang Anda dapat menggunakan skrip php sederhana untuk memasukkan file lain seperti:
Berikut berfungsi jika konten html dari beberapa file perlu disertakan: Misalnya, baris berikut akan menyertakan konten piece_to_include.html di lokasi di mana definisi OBJECT terjadi.
Referensi: http://www.w3.org/TR/WD-html40-970708/struct/includes.html#h-7.7.4 Inilah solusi di tempat saya:
Inilah yang membantu saya. Untuk menambahkan blok kode html dari
Kemudian dalam tag tubuh, sebuah wadah dibuat dengan id unik dan blok javascript untuk memuatnya
Saya tahu ini adalah posting yang sangat lama, jadi beberapa metode tidak tersedia saat itu. Tapi ini pendapat saya yang sangat sederhana (berdasarkan jawaban Lolo). Itu bergantung pada atribut data- * HTML5 dan oleh karena itu sangat generik karena menggunakan fungsi jQuery untuk setiap fungsi untuk mendapatkan setiap .class yang cocok dengan "load-html" dan menggunakan atribut 'sumber data' masing-masing untuk memuat konten:
Anda dapat menggunakan polyfill Impor HTML ( https://www.html5rocks.com/en/tutorials/webcomponents/imports/ ), atau solusi yang disederhanakan https://github.com/dsheiko/html-import Misalnya, pada halaman Anda mengimpor blok HTML seperti itu:
Blok mungkin memiliki impor sendiri:
Importir menggantikan arahan dengan HTML yang dimuat cukup banyak seperti SSI Arahan ini akan disajikan secara otomatis segera setelah Anda memuat JavaScript kecil ini:
Ini akan memproses impor ketika DOM siap secara otomatis. Selain itu, memperlihatkan API yang dapat Anda gunakan untuk berjalan secara manual, untuk mendapatkan log dan sebagainya. Nikmati :) Sebagian besar solusi berfungsi tetapi mereka memiliki masalah dengan jquery : Masalahnya adalah mengikuti kode yang Saya menulis kode di bawah ini, dalam solusi saya, Anda dapat mengakses konten yang disertakan dalam (Kuncinya adalah memuat konten yang disertakan secara sinkron). index.htm :
termasuk .inc :
jquery menyertakan plugin di github Untuk memasukkan konten dari file bernama:
Jawaban Athari (yang pertama!) Terlalu konklusif! Baik sekali! Tetapi jika Anda ingin memberikan nama halaman untuk dimasukkan sebagai parameter URL , posting ini memiliki solusi yang sangat bagus untuk digunakan dikombinasikan dengan: http://www.jquerybyexample.net/2012/06/get-url-parameters-using-jquery.html Jadi itu menjadi seperti ini: URL Anda:
The a.html Kode sekarang menjadi:
Ini bekerja sangat baik untuk saya! Semoga membantu :) html5rocks.com memiliki tutorial yang sangat baik tentang hal ini, dan ini mungkin agak terlambat, tapi saya sendiri tidak tahu ini ada. w3schools juga memiliki cara untuk melakukan ini menggunakan perpustakaan baru mereka yang disebut w3.js. Masalahnya, ini membutuhkan penggunaan server web dan objek HTTPRequest. Anda sebenarnya tidak dapat memuat ini secara lokal dan mengujinya di mesin Anda. Yang bisa Anda lakukan adalah menggunakan polyfill yang disediakan di tautan html5rocks di bagian atas, atau ikuti tutorialnya. Dengan sedikit sihir JS, Anda dapat melakukan sesuatu seperti ini:
Ini akan membuat tautan (Dapat mengubah menjadi elemen tautan yang diinginkan jika sudah disetel), mengatur impor (kecuali Anda sudah memilikinya), dan kemudian menambahkannya. Kemudian dari sana akan mengambil dan mengurai file dalam HTML, dan kemudian menambahkannya ke elemen yang diinginkan di bawah div. Ini semua dapat diubah agar sesuai dengan kebutuhan Anda dari elemen tambahan ke tautan yang Anda gunakan. Saya harap ini membantu, mungkin tidak relevan sekarang jika cara yang lebih baru dan lebih cepat telah keluar tanpa menggunakan perpustakaan dan kerangka kerja seperti jQuery atau W3.js. UPDATE: Ini akan menimbulkan kesalahan yang mengatakan bahwa impor lokal telah diblokir oleh kebijakan CORS. Mungkin perlu akses ke web yang dalam untuk dapat menggunakan ini karena properti web yang dalam. (Artinya tidak ada penggunaan praktis) Inilah pendekatan saya menggunakan Fetch API dan fungsi async
Tidak ada solusi HTML langsung untuk tugas untuk saat ini. Bahkan Impor HTML (yang secara permanen dalam konsep ) tidak akan melakukan hal itu, karena Impor! = Termasuk dan beberapa sihir JS akan tetap diperlukan. Tempatkan saja di
Itu Anda dapat melakukannya dengan jQuery library JavaScript seperti ini: HTML:
JS:
Harap perhatikan bahwa Perlu diketahui juga bahwa jika Anda memuat konten Anda dengan JavaScript, Google tidak akan dapat mengindeksnya sehingga itu bukan metode yang baik untuk alasan SEO. Apakah Anda mencoba injeksi iFrame? Ini menyuntikkan iFrame dalam dokumen dan menghapus dirinya sendiri (seharusnya dalam HTML DOM)
Salam Saya datang ke topik ini mencari sesuatu yang serupa, tetapi sedikit berbeda dari masalah yang ditimbulkan oleh lolo. Saya ingin membuat halaman HTML yang berisi menu alfabet tautan ke halaman lain, dan masing-masing halaman lainnya mungkin ada atau tidak ada, dan urutan pembuatannya mungkin tidak sesuai abjad (atau bahkan numerik). Juga, seperti Tafkadasoh, saya tidak ingin membengkak halaman web dengan jQuery. Setelah meneliti masalah dan bereksperimen selama beberapa jam, inilah yang berhasil bagi saya, dengan menambahkan komentar yang relevan:
Ini adalah artikel yang bagus , Anda dapat mengimplementasikan perpustakaan umum dan cukup menggunakan kode di bawah ini untuk mengimpor file HTML apa pun dalam satu baris.
Anda juga dapat mencoba Google Polymer Menggunakan ES6 backticks ``: templat literals !
Dengan cara ini kita dapat memasukkan html tanpa menyandikan kutipan, memasukkan variabel dari DOM, dan sebagainya. Ini adalah mesin templating yang kuat, kita dapat menggunakan file js terpisah dan menggunakan acara untuk memuat konten di tempat, atau bahkan memisahkan semuanya dalam potongan dan memanggil permintaan:
https://caniuse.com/#feat=template-literals Untuk membuat Solusi berfungsi, Anda harus menyertakan file csi.min.js, yang dapat Anda temukan di sini . Seperti contoh yang ditunjukkan pada GitHub, untuk menggunakan perpustakaan ini Anda harus menyertakan file csi.js di header halaman Anda, maka Anda perlu menambahkan atribut data-include dengan nilainya yang diatur ke file yang ingin Anda sertakan, pada wadah elemen. Sembunyikan Kode Salin
... semoga membantu. PHP adalah bahasa scripting tingkat server. Itu dapat melakukan banyak hal, tetapi satu penggunaan populer adalah untuk memasukkan dokumen HTML di dalam halaman Anda, sama seperti SSI. Seperti SSI, ini adalah teknologi tingkat server. Jika Anda tidak yakin apakah Anda memiliki fungsi PHP di situs web Anda, hubungi penyedia hosting Anda. Berikut ini adalah skrip PHP sederhana yang dapat Anda gunakan untuk memasukkan potongan HTML pada halaman web yang mendukung PHP: Simpan HTML untuk elemen umum situs Anda untuk memisahkan file. Misalnya, bagian navigasi Anda mungkin disimpan sebagai navigation.html atau navigation.php. Gunakan kode PHP berikut untuk memasukkan HTML itu di setiap halaman.
Gunakan kode yang sama pada setiap halaman yang ingin Anda sertakan file. Pastikan untuk mengubah nama file yang disorot menjadi nama dan jalur ke file sertakan Anda. Jika Anda menggunakan beberapa kerangka kerja seperti Django / Bootle, mereka sering mengirimkan beberapa mesin template. Katakanlah Anda menggunakan botol, dan mesin templat default adalah SimpleTemplate Engine . Dan di bawah ini adalah file html murni
Anda dapat memasukkan footer.tpl di file utama Anda, seperti:
Selain itu, Anda juga dapat meneruskan parameter ke dashborard.tpl Anda. Berdasarkan jawaban https://stackoverflow.com/a/31837264/4360308 Saya telah mengimplementasikan fungsi ini dengan Nodejs (+ express + cheerio) sebagai berikut: HTML (index.html)
JS
tambahkan -> termasuk konten ke dalam div ganti -> menggantikan div Anda dapat dengan mudah menambahkan lebih banyak perilaku mengikuti desain yang sama |