❶ js檢測網路是否具體連接功能的代碼
復制代碼
代碼如下:
var
EventUtil
=
{
addHandler:
function
(element,
type,
handler)
{
if
(element.addEventListener)
{
element.addEventListener(type,
handler,
false);
}
else
if
(element.attachEvent)
{
element.attachEvent("on"
+
type,
handler);
}
else
{
element["on"
+
type]
=
handler;
}
},
removeHandler:
function
(element,
type,
handler)
{
if
(element.removeEventListener)
{
element.removeEventListener(type,
handler,
false);
}
else
if
(element.detachEvent)
{
element.detachEvent("on"
+
type,
handler);
}
else
{
element["on"
+
type]
=
null;
}
}
};
var
dom
=
document.createElement('img');
dom.style
=
'display:none;';
dom.src
=
'http://www..com/img/bdlogo.gif';
dom.id
=
'map_img';
EventUtil.addHandler(dom,
'error',
function(){
alert('你的電腦沒有鏈接網路,連接上網路後才能打開地圖!');
});
document.body.appendChild(dom);
❷ 請問用javascript檢測網路是否連通 怎麼判斷呢
正常情況下,其它瀏覽器能夠自動檢測是否具有網路鏈接,但是 google 瀏覽器在這個方面有 BUG,很多網站採用的一種做法是不斷的向伺服器發送請求,確保連接的穩定,如果連不上了,就說明網路斷開了,所以你的問題就可以採用類似的辦法,下面是 js 代碼:
function isOnline(){
var img = new Image();
img.id = "test_is_online";
img.onload = function(){
document.body.removeChild(
document.getElementById("test_is_online"));
};
img.onerror = function(){
document.body.removeChild(
document.getElementById("test_is_online"));
alert("斷網了!");
};
img.src = "http://www..com/img/_jgylogo3.gif";
img.style.display = "none";
document.body.appendChild(img);
};
window.onload = function(){
setInterval(isOnline, 10000);
};
每 10 秒鍾檢測一次,如果發現已經斷網了,就會彈出對話框說:斷網了
❸ 用js輕松判斷當前網路協議是http還是https
JavaScript 的document對象中有一個location的子對象,其包括是屬性如下:
document.location.host //表示當前域名 + 埠號
document.location.hostname //表示域名
document.location.href //表示完整的URL
document.location.port //表示埠號
document.location.protocol //表示當前的網路協議
所以通過上面第五條就能判斷當前的網路協議了,具體判斷如下:
[javascript] view plain
var protocolStr = document.location.protocol;
if(protocolStr == "http")
{
console.log("protocol = " + protocolStr);
}
else if(protocolStr == "https")
{
console.log("protocol = " + protocolStr);
}
else
{
console.log("other protocol");
}
❹ javaScript判斷網路狀態
<script language="Javascript" >
//創建xmlHttp對象
var xmlHttp = null;
function createXMLRequest( ){
var msxmlhttp = new Array(
'Msxml2.XMLHTTP.6.0',
'Msxml2.XMLHTTP.3.0',
'Msxml2.XMLHTTP',
'Microsoft.XMLHTTP');
for(var i = 0; i < msxmlhttp .length; i++) {
try {
if(xmlHttp = new ActiveXObject(msxmlhttp[i] )) break;
} catch (e) {
xmlHttp = null;
}
}
if(!xmlHttp && typeof XMLHttpRequest != "undefined")
xmlHttp = new XMLHttpRequest();
}
function getHtml( ){
createXMLRequest( );
//狀態調用函數
xmlHttp.onreadystatechange = function(){
if ( xmlHttp.readyState == 4 ){
if (xmlHttp.status == 200){
//狀態成功執行
reflesh();
}else{
//你的其他操作
document.all.cma.src="a.html";
}
}
}
//發送請求
xmlHttp.open( "get","http://m.weather.com.cn/m/pn2/weather.htm" ,true);
xmlHttp.send( null );
}
function reflesh(){
//var city = System.Gadget.Settings.read("city");
var city = "2";
if (city > 100000000) {
document.all.cma.src="http://m.weather.com.cn/m/pn2/weather.htm?id="+city+"T";
} else {
document.all.cma.src="http://m.weather.com.cn/m/pn2/weather.htm";
}
}
onload = getHtml;
</script>
<iframe name="cma"></iframe>
放在空白的html頁面中就能看到效果
❺ js判斷手機是wifi還是流量
以下代碼僅供參考:
<scripttype="text/javascript">
varconnection=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{tyep:'unknown'};
vartype_text=['unknown','ethernet','wifi','2g','3g','4g','none'];
alert(connection.type);
varre_el=document.getElementById("re");
varbtn_el=document.getElementById("btn");
functionget_status(){
if(typeof(connection.type)=="number"){
connection.type_text=type_text[connection.type];
}else{
connection.type_text=connection.type;
}
if(typeof(connection.bandwidth)=="number"){
if(connection.bandwidth>10){
connection.type='wifi';
}elseif(connection.bandwidth>2){
connection.type='3g';
}elseif(connection.bandwidth>0){
connection.type='2g';
}elseif(connection.bandwidth==0){
connection.type='none';
}else{
connection.type='unknown';
}
}
varhtml='Type:'+connection.type_text;
html+='<br>Bandwidth:'+connection.bandwidth;
html+='<br>isOnline:'+navigator.onLine;
re_el.innerHTML=html;
}
btn_el.onclick=function(){
re_el.innerHTML='Waiting...';
get_status();
}
</script>
❻ js或php能否判斷移動端的網路類型
PHP的$_SERVER['HTTP_USER_AGENT']只能根據HTTP的header來判斷用戶的訪問是來自哪些設備類型(例如:PC或者手機[包括手機品牌]等),但是對於網路類型,如果是手機訪問,可以通過$_SERVER['HTTP_VIA']得到手機的訪問網關
❼ javascript 判斷網路狀態
<img src="外網地址的一個img的url" width="1" height="1" onerror="javascript:window.location='內網地址'" onload="javascript:window.location='外網地址'">
通過img的error,和 load事件去轉向
❽ 怎麼用js腳本判斷自動檢測網路連接是否正常
用AJAX
❾ 使用JS在瀏覽器中判斷當前網路連接狀態的幾種方法
通過navigator.onLine判斷當前網路狀態:
if(navigator.onLine){
...}else{ ...}
非常簡單,但是並不準確-根據MDN的描述:
navigator.onLine只會在機器未連接到區域網或路由器時返回false,其他情況下均返回true。
也就是說,機器連接上路由器後,即使這個路由器沒聯通網路,navigator.onLine仍然返回true。