Kod pelaksanaan untuk menentukan jenis rangkaian dan status sambungan melalui kemahiran JS_javascript

WBOY
Lepaskan: 2016-05-16 16:06:13
asal
1318 orang telah melayarinya

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.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan