Lebih
Bagaimana cara memuat sebuah halaman HTML di <div> menggunakan JavaScript?
Aku ingin home.html untuk beban di <div id="content">
.
<div id="topBar"> <a href ="#" onclick="load_home()"> HOME </a> </div>
<div id ="content"> </div>
<script>
function load_home(){
document.getElementById("content").innerHTML='<object type="type/html" data="home.html" ></object>';
}
</script>
Ini bekerja dengan baik ketika saya menggunakan Firefox. Ketika saya menggunakan Google Chrome, ia meminta untuk plug-in. Bagaimana aku bisa bekerja di Google Chrome?
143
14
Akhirnya aku menemukan jawaban untuk masalah saya. Solusinya adalah
Anda dapat menggunakan jQuery beban fungsi:
Maaf. Diedit untuk di klik bukan pada beban.
Mengambil API
XHR API
berdasarkan kendala-kendala yang anda harus menggunakan ajax dan pastikan bahwa anda javascript dimuat sebelum markup yang menyebut
load_home()
fungsiReferensi - davidwalsh
MDN - Menggunakan Fetch
[Demo JSFIDDLE](http://jsfiddle.net/jpmCz/)
Saya melihat ini dan berpikir itu tampak cukup bagus jadi saya melakukan beberapa tes di atasnya.
Ini mungkin tampak seperti sebuah pendekatan bersih, tetapi dalam hal kinerja itu tertinggal sebesar 50% dibandingkan dengan waktu yang dibutuhkan untuk memuat halaman dengan jQuery beban fungsi atau menggunakan vanili javascript pendekatan XMLHttpRequest yang kira-kira mirip satu sama lain.
Saya membayangkan hal ini karena di bawah tenda itu mendapatkan halaman yang sama persis fashion tetapi juga harus berurusan dengan membangun yang baru HTMLElement objek juga.
Dalam ringkasan saya sarankan menggunakan jQuery. Sintaks adalah sebagai mudah digunakan karena dapat dan memiliki baik terstruktur panggilan kembali untuk anda gunakan. Hal ini juga relatif cepat. Vanili pendekatan dapat dilakukan dengan lebih cepat oleh kentara beberapa milidetik, tetapi sintaks membingungkan. Saya hanya akan menggunakan ini dalam sebuah lingkungan di mana saya didn't memiliki akses ke jQuery.
Berikut ini adalah kode yang saya gunakan untuk test - ini adalah cukup sederhana tapi kali datang kembali dengan sangat konsisten di beberapa mencoba jadi aku akan mengatakan yang tepat untuk sekitar +- 5ms dalam setiap kasus. Tes dijalankan di Chrome dari rumah saya sendiri server:
Pengambilan HTML Javascript modern cara
Pendekatan ini menggunakan Javascript modern fitur seperti
async/menanti
danmengambil
API. Download HTML sebagai teks dan kemudian feed untukinnerHTML
dari elemen kontainer.Yang
menunggu (menunggu fetch(url)).teks()
mungkin tampak sedikit rumit, tapi itu's mudah untuk menjelaskan. Ini memiliki dua asynchronous langkah-langkah dan anda bisa menulis ulang yang berfungsi seperti ini:Lihat mengambil dokumentasi API untuk rincian lebih lanjut.
Ketika menggunakan
Maka ingatlah bahwa anda tidak dapat "debug" di chrome secara lokal, karena XMLHttpRequest tidak dapat memuat -- Ini TIDAK berarti bahwa itu tidak bekerja, itu hanya berarti bahwa anda perlu untuk menguji kode anda pada domain yang sama aka. server anda
Anda dapat menggunakan jQuery :
mencoba
atau
Ada plugin ini di github yang memuat konten ke dalam sebuah elemen. Berikut ini adalah repo
https://github.com/abdi0987/ViaJS
Hal ini biasanya diperlukan ketika anda ingin menyertakan header.php atau halaman apapun.
Di Jawa itu's mudah terutama jika anda memiliki halaman HTML dan don't ingin menggunakan php menyediakan fungsi tetapi pada semua yang anda harus menulis fungsi php dan menambahkannya sebagai Java fungsi dalam tag script.
Dalam hal ini anda harus menulis tanpa fungsi yang diikuti oleh nama Saja. Script kemarahan fungsi kata dan memulai mencakup header.php I. e convert php memiliki fungsi untuk fungsi Java script tag dan menempatkan semua konten yang disertakan file.
Universal dapat digunakan kembali Murni JavaScript
Saya don't menggunakan framework atau library (klien saya mungkin jika mereka benar-benar ingin) meskipun saya platform web isn't dibebani secara berlebihan dan boros bandwidth. Fungsi di bawah ini adalah apa yang saya tulis untuk langsung add XML untuk
setelah
,sebelum
,di dalam
(menjadi elemen terakhir) atauganti
dan elemen yang ada. Tidak ada yang tidak dapat diandalkan sampah sepertiinnerHTML
(yang di banyak browser mencariid
"ditambahkan" dengan cara ini dapat't dapat ditemukan, oleh karena itu tidak dapat diandalkan). Berdiri sendiri prasyarat fungsi yang digunakan dalam contoh di bawah ini di bagian bawah posting ini.setelah
,sebelum
,di dalam
danmenggantikan
).id_('isi')
) atau string untukid
dari sebuah elemen.<div xmlns="http://www.w3.org/1999/xhtml"><p>segala sesuatu di sini</p></div>
).Fungsi
Pemahaman yang Tepat DOM Fungsi
Memuat XML melalui AJAX ke DOM benar membutuhkan XML namespace (
xmlns="http://www.w3.org/1999/xhtml"
) pada elemen akar (mungkin anda tidak memiliki lebih dari satu elemen root atau jika anda melakukannya anda akan memiliki untuk iterate). Maka anda perlu menggunakanimportNode
. Seluruh fungsi ini hanya semantik di mana XML (AJAX, dari fungsi lain dll) yang akan ditempatkan relatif terhadap unsur-unsur lain dalam DOM.Contoh Penggunaan
Tambahkan XML
setelah
elemen tertentu:Tambahkan XML
sebelum
elemen tertentu:Tambahkan XML
dalam
elemen tertentu (untuk menjadi last child element):JavaScript murni berdiri sendiri prasyarat fungsi
Ini adalah fungsi yang saya gunakan di platform untuk menghindari menghukum pengguna dengan lima salinan dari kerangka kerja/perpustakaan dan memastikan kinerja tinggi:
Menggabungkan Fungsi Kustom
Jika anda ingin membersihkan profesional JavaScript anda're akan perlu menggunakan
prototipe
yang menakjubkan. Dalam contohid_('contoh').tag_('td')[0].class_('baik')[0]
bekerja banyak lebih mudah daripada bermain-main dengan$
di dalam loop.Penuh Peti Harta Karun
Saya memperbarui kode pada kesempatan langka (karena itu's rock solid, tidak "versi" tergantung). Dengan pemrograman JavaScript murni itu's mudah untuk menghindari besar-kinerja rendah kerangka kerja dan perpustakaan. https://www.jabcreations.com/docs/javascript/#functions
showhide.html
Jika file html anda tinggal secara lokal kemudian pergi untuk iframe, bukan <objek> tag. <objek> kategori tidak bekerja cross-browser, dan sebagian besar digunakan untuk Flash
Untuk ex :
<iframe src="rumah.html" width="100" height="100"/>