Saya seorang pendukung Desain Web Responsif dalam hubungannya dengan Desain Web Adaptif (yaitu - satu desain yang menyesuaikan tampilan untuk semua perangkat dan menyediakan konten berdasarkan ukuran port tampilan) yang bertentangan dengan desain situs 'seluler' yang terpisah.
Ada beberapa kelemahan, misalnya, pada tampilan besar saya ingin memasukkan beberapa modul yang akan disembunyikan untuk ukuran viewport yang lebih kecil. Namun, dalam kasus di mana modul disembunyikan berdasarkan ukuran viewport, memuat dan mengeksekusi modul itu menyebabkan kinerja yang tidak perlu ketika diketahui bahwa modul tertentu tidak akan pernah ditampilkan pada ukuran viewport yang lebih kecil.
Bagaimana saya bisa menggunakan ukuran viewport untuk secara efektif menonaktifkan modul (yaitu menghentikannya dari mengeksekusi) untuk mempercepat kinerja?
Saya tidak berpikir Anda harus menonaktifkan modul seperti itu dan masih menyebutnya desain responsif. Bagian dari titik dengan responsif adalah bahwa ia akan menanggapi perubahan viewport dan tidak hanya mencetak tata letak yang berbeda untuk ukuran layar yang berbeda.
Bergantung pada ukuran layar contoh itu mungkin bahwa tablet dalam mode potret akan menyebabkan modul tidak memuat tetapi kemudian tablet yang sama mungkin membutuhkan konten itu sekali dalam mode lansekap.
sumber
Ini adalah kelas JS yang saya buat beberapa waktu lalu yang bisa menggunakan javascript untuk mendeteksi viewports, belum pernah melalui pengujian yang ketat tetapi berfungsi.
Pada dasarnya Anda menggunakannya seperti ini
Breakpoint memiliki parameter min / max untuk lebar, kemudian fungsi berantai untuk memasukkannya dan pergi, dengan panggilan balik untuk menjalankan beberapa kode JS.
Saya tidak bisa menjelaskan secara terperinci bagaimana cara kerjanya, seperti yang saya lakukan dulu tapi Anda bebas menggunakannya jika itu akan membantu. Ini dapat digunakan untuk memuat modul melalui ajax berdasarkan pada viewport. Saya percaya com_ajax joomla dapat digunakan dengan ini untuk membuat beberapa fitur yang sangat keren.
sumber
Solusi lain:
Anda dapat menggunakan deteksi Perangkat Sisi Server seperti ini: http://mobiledetect.net/ di sini Plugin Joomla http://www.yagendoo.com/id/blog/free-mobile-detection-plugin-for-joomla.html dan kemudian rentangkan joomla / templates / yourtemplate / html / modules.php dengan gaya mod_chrome Anda sendiri. Kemudian Anda dapat menulis banyak php jika pernyataan yang Anda suka untuk perangkat atau resolusi apa pun.
sumber
Jika Anda ingin mempercepat kinerja maka jangan memuat modul yang tidak perlu. Jika tidak perlu di layar kecil maka itu juga tidak perlu di layar yang lebih besar.
Orang dengan tampilan perangkat yang lebih besar juga menginginkan situs web cepat yang tidak memuat cruft yang tidak perlu. Anda membuat asumsi yang salah bahwa layar yang lebih besar memiliki bandwidth lebih banyak tersedia. Mereka tidak melakukannya.
Jadilah perancang yang baik dan berikan semua pengguna Anda pengalaman situs yang dioptimalkan, terlepas dari ukuran layar mereka.
sumber
Saya menyarankan bahwa mengendus browser adalah cara yang salah untuk pergi di sini. Jika Anda hanya ingin memuat modul berdasarkan lebar layar, Anda harus menjalankan beberapa javascript, yang kemudian memanggil modul dengan AJAX (com_ajax). Ingatlah bahwa mungkin ada hasil dalam hal optimasi mesin pencari untuk konten yang dimuat oleh AJAX.
sumber
Saya biasanya menggunakan css @ media untuk mewujudkan hal ini. Membuatnya mudah untuk menyembunyikan hal-hal tergantung pada ukuran layar dan membuatnya parse untuk saat-saat ketika tablet lanskap cukup lebar untuk menunjukkannya dan lebar potret tidak. Berikut ini sebuah contoh:
Saya biasanya menggunakan ini untuk menyembunyikan seluruh posisi modul jadi saya mendasarkan pemilih css saya pada pembungkus posisi itu (atau posisi dalam beberapa template).
sumber
Anda dapat memuatnya berdasarkan permintaan menggunakan beberapa javascript yang memanggil com_ajax dan hanya mengembalikan modul untuk ukuran saat ini.
sumber
Anda dapat menggunakan akhiran modul dalam kombinasi dengan pertanyaan media. Banyak kerangka kerja kerangka memiliki ini sudah built-in di mana Anda dapat menambahkan kelas "telepon tersembunyi" agar tidak ditampilkan di ponsel. Mereka menyebutnya kelas Bantuan CSS:
GANTRY: http://www.gantry-framework.org/documentation/joomla/advanced/responsive_grid_system.md
WARP: http://www.yootheme.com/blog/2012/06/12/warp-gets-responsive
sumber