❶ 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。