Hai, yang di sana,
Saya menemukan bug di mana jika Anda memuat halaman yang digulir ke bawah (vs di bagian paling atas), Node memberikan kesalahan "TypeError: Cannot read property 'toLowerCase' of undefined". Ini sepertinya tidak merusak plugin karena terus memuat dengan lambat, namun acara keluaran onLoad yang baru tampaknya tidak menyala dengan benar sampai Anda menggulir kembali ke bagian paling atas lagi.
Cara membuat ulang: Muat halaman pengujian Anda seperti biasa, di bagian atas. Gulir ke bawah sampai Anda sekitar setengah jalan. Sekarang segarkan halaman dan mulailah menggulir dari tengah. Anda akan melihat kesalahan simpul. Jika tidak, pastikan Anda menggunakan event keluaran onLoad. Jika Anda menggulir ke bagian paling atas, Anda akan melihat acara onLoad mulai bekerja secara tiba-tiba.
Hai,
Saya tidak dapat mereproduksi ini :/
Saat Anda mengatakan "Muat halaman pengujian Anda seperti biasa". Maksud Anda halaman ini: https://tjoskar.github.io/ng-lazyload-image atau apakah Anda menjalankan halaman secara lokal dengan npm start
?
Peramban apa yang Anda gunakan?
Untuk beberapa alasan di github.io saya tidak dapat menyegarkan halaman setelah memuatnya sekali. Dikatakan 404 tidak ditemukan setiap saat :(
Tetapi secara umum, maksud saya secara lokal dengan proyek apa pun - saya menggunakan Angular 4 dengan Universal dan Node (jadi universal mungkin ada hubungannya dengan ini). Menggunakan Chrome 59 untuk Windows 10. Saya pikir ini mungkin bug dengan fungsi onLoad baru tetapi tidak positif. Kesalahan hanya muncul di konsol Node, sepertinya tidak membuat kesalahan muncul di konsol Chrome.
Hai @elitenick ,
Bisakah Anda memberikan jejak kesalahan tumpukan penuh?
@tjoskar
Saya pikir kesalahan itu terkait dengan https://github.com/tjoskar/ng-lazyload-image/blob/master/src/lazyload-image.ts#L75 , sebelum di sini akan menangkap kesalahan, tetapi karena tidak.
Di Angular Universal di sini https://github.com/tjoskar/ng-lazyload-image/blob/master/src/lazyload-image.ts#L47 menghasilkan kesalahan, karena element
di server tidak ditentukan.
Saya pikir, solusi masalah yang cukup bagus adalah menonaktifkan img malas di sisi server.
Untuk beberapa alasan di github.io saya tidak dapat menyegarkan halaman setelah memuatnya sekali. Dikatakan 404 tidak ditemukan setiap saat :(
Ya, itu karena github tidak mendukung untuk mengarahkan semua permintaan ke index.html (tapi itu masalah yang sama sekali berbeda)
Ini mungkin ada hubungannya dengan Angular Universal tetapi ada beberapa hal yang saya tidak mengerti:
element
tidak dapat di-undefined karena kami mengakses nodeName
dari element
tanpa kesalahan dan selanjutnya, kami menggunakan element
di isVisible() dan kami bahkan menggunakan window
dalam fungsi itu, yang seharusnya tidak ditentukan dalam konteks server.Saya pikir ini mungkin bug dengan fungsi onLoad baru tetapi tidak positif
Apakah Anda menggunakan (onLoad)
? Bisakah Anda mencoba menghapusnya dan melihat apakah Anda dapat mereproduksi kesalahan?
@rimlin
Saya pikir, solusi masalah yang cukup bagus adalah menonaktifkan img malas di sisi server.
Ya, saya tidak masuk akal untuk melakukan lazyload gambar di server (karena kami tidak tahu apa-apa tentang ukuran layar).
Mungkin kita bisa menambahkan if (isPlatformServer(this.platformId)) return;
( ref ) di ngAfterContentInit
.
@elitenick , saya baru saja menerbitkan [email protected]
dengan @rimlin pull request. Bisakah Anda menginstalnya ( npm install [email protected]
) dan melihat apakah itu menyelesaikan masalah?
Tentunya! Akan memeriksanya hari ini dan memberi tahu Anda! Terima kasih teman-teman.
Sudah diperbaiki! Terima kasih banyak!! Membuat ulang skenario yang sama beberapa kali dan tidak ada lagi kesalahan Node. Dan pemuatan malas terus bekerja setelah Angular masuk.
Termasuk dalam [email protected]
.
Komentar yang paling membantu
https://github.com/tjoskar/ng-lazyload-image/pull/179