Facebook memperkenalkan Plugin Halaman baru untuk menggantikan plugin kotak Suka. Dokumentasi: https://developers.facebook.com/docs/plugins/page-plugin/ Saya mengganti plugin Kotak Suka dengan plugin baru ini. Di beberapa situs web saya telah menggunakan kode CSS ini untuk membuat plugin responsif di dalam sebuah elemen:
Mengganti ini dengan kode ini tidak berfungsi:
Kode plugin Halaman saya terlihat seperti ini (tidak menyediakan atribut lebar data):
Sepertinya Facebook telah menambahkan elemen div dengan elemen gaya sebaris di dalam DOM yang dimuat oleh iframe:
Ketika saya menyesuaikan lebar ini hingga 100%, setiap elemen selaras dengan lebar penuh kecuali foto sampul. Dimungkinkan untuk memberikan plugin Halaman ini perilaku responsif seperti halnya dengan plugin kotak Suka? Lebar "Page Plugin" baru Facebook berkisar dari
Dengan Lebar Beradaptasi dicentang, mis: Tidak seperti like-box, plugin ini memberlakukan batas-batasnya dengan tetap berpegang pada nilai batas jika salah dikonfigurasi. Untuk layar kecil/Perilaku responsif
Tanpa Lebar Adaptif
Ini tidak berfungsi dengan baik ketika Anda menempatkan plugin di kolom tipis, seperti bilah samping misalnya. Pada layar berukuran sedang ini biasanya berjalan lebih kecil dari 280px lebarnya.
Ini adalah kode yang saya gunakan untuk menghentikan pemecahan plugin di luar wadah pembungkus. Berbeda dengan kotak seperti lama yang akan ubin, yang ini hanya meluap, menyembunyikan konten yang meluap. ini bekerja untuk saya.
Untuk membuat
Plugin Halaman Facebook responsif pada pemuatan halaman awal, Anda ingin menghapus atribut
Ini akan membuat Plugin Halaman Facebook responsif, tetapi hanya pada render halaman awal, dengan lebar minimum 180px. Saya masih mencoba mencari cara untuk membuatnya benar-benar responsif secara dinamis, terlepas dari peringatan Facebook (saya akan memposting pembaruan jika saya pernah menemukan jawabannya).
Sumber: https://developers.facebook.com/docs/plugins/page-plugin Anda dapat membuatnya responsif secara dinamis dengan menginisialisasi ulang widget pada ukuran browser, seperti yang disarankan Io Ctaptceb, tetapi dengan melakukan itu Anda berisiko menghabiskan memori dengan sangat cepat. Yugal Jindle punya jawaban yang bagus, tetapi saya ingin mengklarifikasi bahwa Saya belum menemukan cara untuk membuat plugin ini benar-benar responsif secara dinamis. Saya meletakkan ini di sini untuk mereka yang memiliki masalah yang sama dengan saya dan tidak dapat menemukan jawaban mereka di sini di antara komentar atau pada halaman stackoverflow lainnya. Saya menambahkan Facebook Page Plugin dengan pengaturan yang akan menyesuaikannya dengan lebar wadah.
Namun, satu atau lebih elemen dalam iframe atau elemen Javascript SDK diberi lebar 340px membuat Page Plugin tidak beradaptasi dengan lebar kontainer. Sementara itu harus memiliki minimum 180px dan maksimal 500px. Namun kode yang disediakan oleh Facebook kehilangan sesuatu.
Dengan menambahkan Saya harap ini membantu siapa pun menemukan masalah yang sama. bagi Anda yang mencari solusi JS untuk ukuran lebih kecil dari 280 di sini adalah potongan kode saya:
sunting. pastikan yang berikut ini ada di css:
Kami telah mengatasi beberapa keterbatasan responsif plugin Facebook dengan menggunakannya sebagai IFRAME, tetapi bootstrap pada saat render dengan JavaScript yang secara dinamis mengukur ukuran frame (dan parameter lebar/tinggi dalam URL SRC) untuk mengisi elemen kontainer. Jika wadah lebih besar dari 500px, untuk menghindari Talang yang jelas di sisi kanan, kami cukup menambahkan transformasi skala dengan beberapa matematika sederhana. Acara onload IFRAME menyala ketika SRC pada awalnya kosong (ketika kita bootstrap) dan kemudian lagi setelah selesai memuat ketika kita mengatur SRC, tetapi kita hanya keluar jika atribut SRC sudah ada. Dalam penggunaan kami, kami tidak mengubah lebar umpan Facebook untuk penggunaan desktop, dan untuk viewports genggam/tablet, lebar tersebut secara alami diperbaiki (ya, kami menjebak perubahan orientasi) tetapi jika Anda ingin agar Anda terus menyesuaikan jika Dimensi jendela browser berubah, Anda hanya bisa memecat kode sebagai latihan untuk Anda sendiri. Ini diuji dengan Chrome dan Safari, di desktop dan iOS/Android:
EDIT: Lupa tentang transformasi-Asal, kebutuhan dihapus untuk menyesuaikan kiri/atas untuk mengakomodasi skala. Terima kasih Io Ctaptceb Pada Graph API 2.3 Facebook menyediakan kode yang mirip dengan yang berikut ini untuk plugin komentar:
Tambahkan
Semi-responsif karena, plugin tidak mengubah ukurannya sendiri pada ukuran halaman. Ukurannya tergantung pada ukuran layar saat plugin dimuat. Saya menggunakan solusi yang diusulkan oleh Robert Smith dengan lebar-lebar, bukan lebar:
Juga, saya menggunakan proposal Yugal Jindle dan saya sudah melakukannya
dan
Sekarang halaman saya ok! Terima kasih banyak! Tampaknya Plugin Halaman Facebook tidak berubah sama sekali dalam 5-7 tahun terakhir :) Tidak responsif sejak awal dan masih belum, bahkan param Saya mencari cara sederhana yang paling memungkinkan untuk melakukan Saya menemukan keputusan terbaik untuk kali ini 2017 Oktober:
Ini memungkinkan jangan merusak lebar ukuran layar untuk layar responsif, tetapi tetap terlihat jelek, karena terpotong dalam beberapa waktu dan tidak melebar ... Facebook tidak peduli dengan desain plugin sama sekali. Itulah yang sebenarnya. Saya memperbaiki jawaban Twentyfortysix sedikit, untuk hanya memicu acara setelah perubahan ukuran selesai. Selain itu saya menambahkan memeriksa lebar jendela, sehingga tidak akan memicu reinisialisasi pada Android.
Berikut ini adalah ukuran dinamis iframe yang menyertakan cara, dengan beberapa penayangan ulang jadwal acara diubah ukurannya: |