Rumah > Soal Jawab > teks badan
哪位大神了解或者有思路了解今日头条的详情界面是如何实现的吗?或者网易新闻的文章详情界面都是如何实现的?
ringa_lee2017-04-18 09:36:42
Saya belum memasang Toutiao, tetapi teks utama hampir semua apl berita ialah paparan web.
Ambil NetEase News sebagai contoh Ia adalah paparan web Selepas memuatkan teks berita, beritahu js untuk membiarkannya kosong, membenarkan pelanggan mengisi perkongsian berikut, iklan, siaran popular, berita berkaitan, dsb. Atau letakkan paparan web yang memaparkan teks pada scrollView dan letakkan perkongsian, iklan, siaran popular, dsb. di bawahnya.
Anda harus tahu kaedah komunikasi antara webview dan js Bagi cara membungkus webview seperti kawalan sisi klien, ia sebenarnya tidak sukar, seperti mendapatkan jumlah ketinggian halaman, mendapatkan gambar kecil yang betul, menyesuaikan menu. , menetapkan ketelusan latar belakang badan, Biarkan pelanggan melaksanakan kod tertentu, seperti perkongsian, membuka antara muka komen, dsb.
Ini ialah idea umum yang saya buat lama dahulu, yang serupa dengan halaman teks berita, tetapi js boleh mengawal halaman itu sewenang-wenangnya, menyokong kawalan web dan asli. Bos berharap pelanggan boleh menjadi seperti aplikasi web dan boleh menukar antara muka pada bila-bila masa, menambah halaman acara, dll.
Mengenai apa yang anda katakan tentang menghantar json, menghantar json hanyalah cara menghantar data, tetapi perkara yang anda tanyakan ialah cara melaksanakan antara muka. Tiada hubungan antara keduanya.
Beritahu saya sedikit lagi tentang caching halaman. Paparan web yang kerap dipaparkan seperti halaman butiran berita biasanya memerlukan caching halaman Anda boleh menetapkan peraturan untuk cache html/css/js, atau membungkusnya ke dalam apl atau kedua-duanya. Halaman cache dimuatkan tanpa sebarang tekanan. Jika anda tahu bahawa teks utama berita NetEase dihantar dalam json, maka anda boleh melihat melalui direktori seperti app bundle dan dokumen/perpustakaan, dan mesti ada cache halaman.
Kemudian datang data. Antara muka yang dicache hanyalah rak kosong, dengan hanya gaya dan tiada data. Kaedah pengisian data adalah sangat fleksibel dan bergantung pada pilihan peribadi anda dan keputusan ujian sebenar. Anda boleh meminta ajax untuk meminta data dan kemudian mengisi p, atau anda boleh meminta pelanggan untuk melaksanakan js untuk mengisinya selepas halaman rak dimuatkan, atau anda boleh membiarkan bahagian yang tidak mengambil bahagian dalam caching (seperti iframe) membawa datanya sendiri, atau kedua-duanya.
Oleh kerana akan ada permintaan http semasa membuka halaman butiran untuk mendapatkan data seperti siaran popular dan bilangan siaran, anda juga boleh mengembalikan teks berita kepada pelanggan pada masa ini, supaya pelanggan mempunyai semua data dan paparan halaman akan menjadi lebih pantas. Ini hanyalah titik pengoptimuman.
Proses keseluruhannya ialah:
pushController -> disembunyikan semua paparan -> mengisi data halaman ->
ringa_lee2017-04-18 09:36:42
Gunakan webview untuk memuatkan html, anda boleh Baidu untuk mendapatkan butiran