JS檢測(cè)是否可以訪問(wèn)公網(wǎng)服務(wù)器功能代碼
wifi認(rèn)證開(kāi)發(fā)過(guò)程所用到的,源碼如下:
注:檢測(cè)AC是否放行成功,是否可以訪問(wèn)公網(wǎng)阿里云服務(wù)器
功能調(diào)用:
checkNet().then(function(res) { if(res) { //連網(wǎng)成功 } } else { //連網(wǎng)失敗 } })
功能代碼:
(function() { //檢測(cè)入口 checkNet = function() { var def = $.Deferred(); xiuNet(null).then(function(res) { netWork(null).then(function(res) { if(res) { def.resolve(true); } else { def.resolve(false); } }) }) return def.promise(); } //嗅探網(wǎng)絡(luò),解決ios彈框接入網(wǎng)絡(luò)問(wèn)題 var checkTime = 2; //嗅探次數(shù) xiuNet = function(def) { if(def == null) {def = $.Deferred();} var iframe = document.createElement("iframe"); iframe.style.cssText = "display:none;width:0px;height:0px;"; document.body.appendChild(iframe); var ua = navigator.userAgent; if(ua.indexOf("iPhone") != -1 || ua.indexOf("iPod") != -1 || ua.indexOf("iPad") != -1) { iframe.src = "http://www.baidu.com" + "?timestap=" + new Date().getTime(); console.info("嗅探網(wǎng)絡(luò)----"); if(checkTime > 1) { checkTime--; setTimeout(function() { xiuNet(def) }, 1000); } else { def.resolve(true); } } else { def.resolve(false); } return def.promise(); } //檢測(cè)網(wǎng)絡(luò),是否可以連接公網(wǎng) var cnetTime = 3; //檢測(cè)網(wǎng)絡(luò)次數(shù) netWork = function(def) { if(def == null) {def = $.Deferred();} $.ajax({ type: "get", timeout: 2000, dataType: "jsonp", jsonp: "callback", url: 'https://jktv.tv/shphone/ver.txt', success: function(data) {}, error: function(xhr) { $("#ddd").html("status:"+xhr.status) if(xhr.readyState == 4 && xhr.status == 200) { def.resolve(true); } else { if(cnetTime > 1) { cnetTime--; setTimeout(function() { netWork(def) }, 200); } else { def.resolve(false); } } } }); return def.promise(); } })();
以上所述是小編給大家介紹的JS檢測(cè)是否可以訪問(wèn)公網(wǎng)服務(wù)器,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JS或jQuery獲取ASP.NET服務(wù)器控件ID的方法
這篇文章主要介紹了JS或jQuery獲取ASP.NET服務(wù)器控件ID的方法,本文介紹一方法,解決如何使用js獲取ASP.NET控件在瀏覽器端生成html標(biāo)簽對(duì)應(yīng)的id,需要的朋友可以參考下2015-06-06js+css3實(shí)現(xiàn)簡(jiǎn)單時(shí)鐘特效
這篇文章主要為大家詳細(xì)介紹了js+css3實(shí)現(xiàn)簡(jiǎn)單時(shí)鐘特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09如何在webpack項(xiàng)目中調(diào)試loader插件
最近在學(xué)習(xí)webpack,本文主要介紹了loader插件的調(diào)試方法,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06JavaScript中值類(lèi)型與引用類(lèi)型實(shí)例說(shuō)明
JavaScript中值類(lèi)型與引用類(lèi)型說(shuō)明,需要的朋友可以參考下。2010-12-12js實(shí)現(xiàn)簡(jiǎn)單圓盤(pán)時(shí)鐘
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)簡(jiǎn)單圓盤(pán)時(shí)鐘,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09javascript實(shí)現(xiàn)文字無(wú)縫滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)文字無(wú)縫滾動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08showModalDialog模態(tài)對(duì)話框的使用詳解以及瀏覽器兼容
showModalDialog是jswindow對(duì)象的一個(gè)方法,和window.open一樣都是打開(kāi)一個(gè)新的頁(yè)面。區(qū)別是:showModalDialog打開(kāi)子窗口后,父窗口就不能獲取焦點(diǎn)了(也就是無(wú)法操作了)2014-01-01分享JS代碼實(shí)現(xiàn)鼠標(biāo)放在輸入框上輸入框和圖片同時(shí)更換樣式
在一些網(wǎng)站我們會(huì)見(jiàn)到,當(dāng)鼠標(biāo)放在輸入框上輸入框和圖片同時(shí)更換樣式,那么基于js代碼是如何實(shí)現(xiàn)的呢?下面小編給大家解答下2016-09-09