Baru -baru ini, saya telah melakukan makalah dan saya sangat terampil. Saya merancang web lagi dan mengalami masalah. Di masa lalu, ketika saya merancang halaman web, saya berlari di IE, dan saya tidak pernah mempertimbangkan Firefox, apalagi Chrome, tetapi sekarang berbeda. Setidaknya saya pikir halaman web yang tidak kompatibel dengan Firefox sangat jelek dan palsu, jadi dari konsep ini, saya mulai memperhatikan kompatibilitas ini ketika merancang halaman. Kali ini saya mengalami masalah kompatibilitas. Ada kerangka kerja mengambang di HTML, <Frame>, yang dapat tertanam di halaman, yang sangat cocok untuk membuat halaman bingkai, seperti yang ditunjukkan pada gambar di bawah ini.
Halaman HTML dibagi menjadi dua bagian, dengan bilah navigasi di sebelah kiri dan konten yang akan ditampilkan di sebelah kanan. Kodenya adalah sebagai berikut:
Kode di kolom kiri adalah:
<Iframe frameborder = 0 id = frmtitleleft name = frameleft src = left.html style = tinggi: 100%; Lebar: 180px;>
Hubungkan ke kiri.html
Kolom kanan serupa. Untuk halaman yang saya buat, efek pratinjau adalah sebagai berikut:
Apa efek yang harus dicapai sekarang untuk mencapai efek yang lebih praktis? Mengklik tautan apa pun dapat ditampilkan di kolom kanan. Jelas bahwa itu perlu diimplementasikan melalui JS. Saya tidak akan banyak bicara tentang metode asli yang tidak kompatibel. Harap ingat langkah implementasi berikut:
1. Pertama dapatkan objek iframe di kolom kanan
var frames = document.geteLementById (frameid); // frameid adalah nama id dari iframe di kolom kanan
2. Setel ulang nilai SRC -nya
frames.src = pageurl; // pageurl adalah halaman tujuan yang akan ditampilkan
Ini memungkinkan lompatan halaman
Tetapi ada poin lain, jika Anda ingin memanggil fungsi, itu tidak sesederhana itu
Misalnya, ada fungsi kanan () di kolom kanan. Saya ingin memanggil fungsi kanan () di tautan di kolom kiri. Bagaimana mengimplementasikannya
1. Pertama -tama, frame kiri tertanam di indeks halaman kontainer.html, jadi Anda perlu kembali ke level indeks terlebih dahulu dan mendapatkan objek kananFrame
var frames = window.parent.window.document.getElementById (frameId);
2. Untuk dapat menjalankan fungsi di halamannya, Anda harus mendapatkan objek jendela. Berikut ini adalah objek penting, ContentWindow. Dapatkan objek ini, dan kemudian Anda dapat menjalankan fungsi di dalamnya, seperti
frames.contentwindow.right ();
Kode di atas kompatibel dengan IE6, Firefox3, dan Chrome 2.0. Mereka semua berhasil lulus ujian. IE7 belum mencobanya, tetapi seharusnya tidak masalah.