Saya memiliki iframe yang memuat situs web pihak ketiga yang sangat lambat dalam memuat.
Apakah ada cara untuk menampilkan pesan pemuatan sementara iframe memuat pengguna tidak melihat ruang kosong yang besar?
PS. Perhatikan bahwa iframe adalah untuk situs web pihak ketiga jadi saya tidak dapat mengubah / memasukkan apa pun di halaman mereka.
javascript
jquery
iframe
Yakub
sumber
sumber
Jawaban:
Saya telah melakukan pendekatan css berikut:
sumber
Saya pikir kode ini akan membantu:
JS:
HTML:
CSS:
sumber
#loadingMessage
saatload
kebakaran, tetapi mengapa Anda juga menyembunyikannyaready
? Bukankah itu terlalu dini?addEventListener
dan menggunakan propertiquerySelector
+style
s :-). Selain itu, penulis soal telah memberi tag sebagaijquery
. Tidak mengerti mengapa pesan Anda? :-)Jika itu hanya placeholder yang ingin Anda capai: pendekatan gila adalah dengan memasukkan teks sebagai latar belakang-svg. Ini memungkinkan beberapa fleksibilitas, dan dari apa yang saya baca, dukungan browser seharusnya cukup baik (belum mengujinya):
html:
css:
Apa yang bisa Anda ubah?
Di dalam nilai latar belakang:
font size: cari font-size = "" dan ubah nilainya menjadi apa pun yang Anda inginkan
warna font: cari fill = "" . Jangan lupa untuk mengganti # dengan% 23 jika Anda menggunakan notasi warna heksadesimal. % 23 adalah singkatan dari # dalam pengkodean URL yang diperlukan agar string-svg dapat diurai dalam FireFox.
font family: look for font-family = "" ingatlah untuk menghindari tanda kutip tunggal jika Anda memiliki fonta yang terdiri dari beberapa kata (seperti dengan \ 'Lucida Grande \')
teks: cari nilai elemen dari elemen teks di mana Anda melihat string PLACEHOLDER . Anda dapat mengganti string PLACEHOLDER dengan apa pun yang sesuai dengan url (karakter khusus perlu diubah menjadi notasi persen)
Contoh biola
Kelebihan:
Kekurangan:
Saya hanya akan merekomendasikan ini hanya jika benar-benar diperlukan untuk menampilkan teks sebagai placeholder dalam iframe yang membutuhkan sedikit fleksibilitas (banyak bahasa, ...). Luangkan waktu sejenak dan renungkan: apakah semua ini benar - benar perlu? Jika saya punya pilihan, saya akan memilih metode @ Christina
sumber
sumber
Berikut solusi cepat untuk sebagian besar kasus:
CSS:
Anda dapat menggunakan GIF pemuatan animasi jika Anda mau,
HTML:
Menggunakan acara onload, Anda dapat menghapus gambar pemuatan setelah halaman sumber dimuat di dalam iframe Anda.
Jika Anda tidak menggunakan jQuery, cukup masukkan id ke div dan ganti bagian kode ini:
dengan sesuatu seperti ini:
Semua yang terbaik!
sumber
Ya, Anda bisa menggunakan div transparan yang ditempatkan di atas area iframe, dengan gif loader sebagai latar belakang saja.
Kemudian Anda dapat melampirkan
onload
acara ke iframe:sumber
Saya telah mengikuti pendekatan berikut
Pertama, tambahkan div saudara
dan kemudian saat iframe selesai dimuat
sumber
sumber
Anda dapat menggunakan seperti di bawah ini
sumber