Persekitaran rangkaian mudah alih China adalah kompleks Untuk memberikan pengguna pengalaman akses yang lebih baik, pembangun berharap dapat memahami kaedah rangkaian semasa pengguna dan kemudian memberikan pengguna hasil permintaan yang sepadan dengan persekitaran rangkaian semasa.
Spesifikasi W3C menyediakan kaedah untuk mendapatkan navigator status rangkaian semasa.sambungan mengikut spesifikasi protokol Draf Kerja 29 November 2012, kita boleh mendapatkan lebar jalur (lebar jalur, M/s) dan parameter bermeter daripada nilai antara muka ; ia juga menyediakan kaedah pemantauan untuk memantau perubahan dalam persekitaran capaian pada setiap masa. Pada hakikatnya, kami mendapati bahawa banyak penyemak imbas tidak mengembalikan nilai lebar jalur, dan mematuhi protokol Draf Kerja 07 Jun 2011 dan mengembalikan jenis kami (jenis, wifi/2g/3g/4g).
Mari kita lihat sokongan setiap syarikat
Android 2.3 Browser | UC | Dolphin | QQ浏览器 | Baidu | Firefox | Chrome | Opera Mini | Maxthon |
Yes | No* | Yes | Yes* | Yes | Yes(New) | No | No | Yes |
Maklumat yang berkaitan tidak boleh diperoleh daripada mana-mana pelayar pada iPhone.
Melalui penerangan di atas, kami mendapati bahawa kami masih boleh memahami status sambungan Internet sebilangan besar pengguna melalui parameter ini dan memberikan mereka pengalaman yang lebih baik.
Seterusnya, kami memberi tumpuan kepada status pemulangan setiap penyemak imbas.
Kebanyakan penyemak imbas akan mengembalikan jenis int Satu kes khas ialah penyemak imbas QQ, yang mengembalikan nama jenis Perhubungan yang sepadan adalah seperti berikut
返回值 | QQ返回值 | 类型 |
0 | unknown | UNKNOWN |
1 | ethernet | ETHERNET |
2 | wifi | WIFI |
3 | 2g | CELL_2G |
4 | 3g | CELL_3G |
5 | 4g | CELL_4G(中国现在也会出现这个值,是hspa ) |
? | none | NONE |
Seterusnya adalah kes istimewa yang lebih besar, ini adalah firefox, ia menggunakan versi baru spesifikasi, jadi ia mengembalikan lebar jalur; tetapi yang sangat pelik ialah selagi ia adalah wifi atau 3G, ia mengembalikan 20, dan jika ia adalah 2G, ia mengembalikan 0.1953125 ; Ia adalah sama setiap kali, tidak kira apa status rangkaian semasa. Isu ini akan terus disusuli.
Sediakan anda alamat demo: http://demo.jb51.net/js/2015/net.html
Dalam Demo, {type:0} dikembalikan terus kepada penyemak imbas yang tidak menyokong sambungan, yang dengan mudah menyelesaikan masalah yang sesetengah penyemak imbas tidak menyokongnya. Ia juga sesuai untuk merawat penyemak imbas yang tidak menyokong sambungan dan boleh mengakses Internet sebagai "tidak diketahui".
Ramai jurutera merasakan bahawa sokongan untuk fungsi ini tidak cukup baik, dan adalah lebih baik untuk tidak menggunakannya lagi; tetapi saya fikir selagi kesilapan boleh dikendalikan dan risiko boleh dikawal, mengapa tidak memberikan pengalaman yang lebih mesra kepada pelanggan yang sememangnya baik.
Hari ini, rakan sekelas saya bercakap tentang membiarkan bahagian belakang menilai kelajuan Ini mungkin agak sukar, tetapi memang mungkin untuk mendapatkan anggaran kelajuan pengguna melalui setiap permintaan tak segerak (masa memuatkan dan saiz fail sebenarnya boleh. diperolehi oleh bahagian hadapan), dan kemudian pilih Sediakan perkhidmatan tertentu dengan cara berorientasikan seks, dan merancang untuk berfikir lebih ke arah ini pada masa hadapan.