Rumah  >  Artikel  >  hujung hadapan web  >  Perbincangan tentang isu permulaan nod iframe_HTML/Xhtml_Pengeluaran halaman web

Perbincangan tentang isu permulaan nod iframe_HTML/Xhtml_Pengeluaran halaman web

WBOY
WBOYasal
2016-05-16 16:38:341211semak imbas

Hari ini saya tiba-tiba ingin menyemak prinsip membuat editor teks kaya. Jadi saya mula melakukannya langkah demi langkah tanpa berkata apa-apa. Kerana saya menulis editor teks kaya ringkas setahun yang lalu, saya mungkin masih mempunyai beberapa tera. Tetapi apabila saya menjalankan kod yang saya tulis, saya mendapati masalah:

Salin kod
Kodnya adalah seperti berikut:

var ifr = document.createElement('iframe'); ifr .contentWindow.document;
idoc.designMode = 'on';
idoc.contentEditable = true;
idoc.write(''); > Lihat kod di atas Adakah anda menemui sebarang ralat?

Saya fikir jika tiada kanak-kanak yang mempunyai pengalaman serupa dengan saya, mereka mungkin tidak akan dapat melihat apa yang salah dengan kod ini. Jadi anda mungkin juga pergi untuk berlari, mungkin anda akan menemui masalah itu tidak lama lagi.

Biar saya dedahkan jawapan di bawah:
Kod ini akan membuang objek yang tidak dijumpai pengecualian. Objek yang manakah tidak ditemui? Objek dokumen tidak dapat ditemui, apa? Bagaimanakah mungkin objek dokumen tidak dapat ditemui? Sudah tentu, objek dokumen ini ialah objek dokumen iframe. Sesiapa sahaja yang telah membuat teks kaya tahu bahawa anda mesti mendapatkan objek dokumen iframe dahulu sebelum menjadikannya boleh diedit. Tetapi mengapa kita tidak boleh mendapatkan objek dokumen? Saya tidak akan terlalu berlagak di sini. Biar saya bercakap tentang proses penyelesaian saya.

Pertama sekali, saya pergi ke Google dan mendapati bahawa cara saya mendapatkan dokumen adalah betul. Kemudian saya tertanya-tanya sama ada ia Chrome? Adakah Chrome tidak menyokong kedua-dua objek ini? Jadi saya beralih kepada Firefox. Hasilnya masih sama. Kemudian apa yang pasti adalah bahawa ia mesti menjadi masalah dengan kod anda sendiri.

Kemudian, dengan membandingkan kod di Internet, saya mendapati bahawa kedudukan appendChild saya agak salah, jadi saya mengalihkannya lebih awal untuk mendapatkan objek dokumen:





Salin kod


Kodnya adalah seperti berikut:
var ifr = document.createElement('iframe'); >ifr.width = 300; ifr. tinggi = 300; designMode = 'on'; idoc.contentEditable = true; idoc.write('