function getXMLHttpRequest(){
var client = getXMLHttpRequestFromIE();
if(client == null){
client = new XMLHttpRequest();
}
return client;
}
function getXMLHttpRequestFromIE(){
var namePrefixes = ["Msxml3","Msxml2","Msxml","Microsoft"];
for(var i = 0; i < namePrefixes.length; i++){
try{
var name = namePrefixes[i] + ".XMLHTTP";
return new ActiveXObject(name);
}catch(e){
}
}
return null;
}
var client = null;
//是否可以访问
var isRun = false;
//返回值
var stateString="";
//请求url的网站
function connUrl(url){
client = getXMLHttpRequest();
var actionURL = convertURL(url);
try{
client.open("GET", actionURL, true);
client.onreadystatechange = callBack;
client.send(null);
}catch(e){}
finally{
}
}
function callBack(){
if(client.readyState == 4){
stateString = client.responseText;
if(stateString && client.status==200)
isRun = true;
}
}
//是否可达
function isReach(url){
connUrl(url);
return isRun;
}
//给url地址增加时间戳,骗过浏览器,不读取缓存
function convertURL(url) {
//获取时间戳
var timstamp = (new Date()).valueOf();
//将时间戳信息拼接到url上
if (url.indexOf("?") >= 0) {
url = url + "&t=" + timstamp;
} else {
url = url + "?t=" + timstamp;
}
return url;
}
//因为是异步,先调用,此时isRun的值是false
isReach("http://www.baidu.com");
//3秒钟后判断isRun的值,如果为false认为网站不可达,类似超时时间
setTimeout(function(){
//alert(stateString);
//alert(isRun);
if(isRun==true){
document.getElementById("ceshi").innerText = "网站是通的!";
}else{
document.getElementById("ceshi").innerText = "网站不通!";
}
},3000);
<div id="ceshi"></div>
分享到:
相关推荐
ajax异步访问数据库
任务是这样的的,支付宝的页面返回notify页面(这个页面是异步访问的),而我的C#处理有一个处理模块,需要判断如果是已经登录则加积分之类的操作,结果老是获取不到session数据,可是明明登录了啊。这里的误区是,...
由于ajax在跨域的访问上有问题,目前最好的方法是做代理.写了个代理程序和心得 为了做ajax的代理,研究了下服务器端的xmlhttp并和客户端的ajax中的xmlhttp做了个比较,后台代码是asp的 服务器端的xmlhttp也就是asp小偷...
像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java编写的显示器显示模式检测程序 2个目标文件 内容...
(主要是用户登录判断需要更新session)当PHP 处理大数据量操作时 不能及时操作完成 这时候又有访问其他控制器或者异步请求时候会造成session 死锁现象和同事探讨了下 可使用 session_write_close() 解决此问题复制...
使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache ...
[插件]修复伪静态路径时,手机版路径出现访问不到的BUG(WAP手机版 插件) [插件]修复简易小论坛 网页关键词和描述,没走 论坛参数设置 里的设定(简易小论坛 插件) [插件]修复采集参数设置点保存出现错误的BUG...
8.1.4判断某个值是否存在 68 8.1.5遍历 68 8.1.6返回元素总数 68 8.1.7转换为数组 68 8.2WeakSet 68 8.2.1基本语法 69 8.2.2添加和删除元素 69 8.2.3判断某个值是否存在 69 8.2.4不可遍历 69 8.3Map 69 8.3.1基本...
8.[插件]修复伪静态路径时,手机版路径出现访问不到的BUG(WAP手机版 插件) 9.[插件]修复简易小论坛 网页关键词和描述,没走 论坛参数设置 里的设定(简易小论坛 插件) 10.[插件]修复采集参数设置点保存出现错误...
Overloaded的方法是否可以改变返回值的类型? 10 12. error和exception有什么区别? 11 13. 同步和异步有何异同,在什么情况下分别使用他们?举例说明。 11 14. 简述synchronized和java.util.concurrent.locks.Lock的...
如何判断ArrayList,Hashtable,SortedList 这类对象是否相等 帮助解决网页和JS文件中的中文编码问题的小工具 慎用const关键字 装箱,拆箱以及反射 动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/...
3.通过访问频率判断是否是非人类请求 方法:设置爬取间隔 和爬取策略 4.验证码 方法:识别验证码 5.页面请求不再直接渲染,通过前端js异步获取 方法:a通过selenium+phantomjs来获取数据 b.找到数据来源的接口(ajax接口)...
- 增加创建副本功能 按住ctrl拖拽即可,可以到当前,也可以到文件夹。 - 多选拖拽优化:剪切到、移动到某个文件夹 - 创建副本功能 - 树目录和文件列表一致性保持 更新相互通知 ####fix bug:(bug解决和程序优化...
+PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。 -在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时...
Overloaded的方法是否可以改变返回值的类型? 14 19、构造器Constructor是否可被override? 15 20、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否...
-Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性...
Overloaded的方法是否可以改变返回值的类型? 14 19、构造器Constructor是否可被override? 15 20、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否...
进行高精度运算可以用java.math包中BigDecimal类中的方法。 自动类型提升又称作隐式类型转换。 强制类型转换:int ti; (byte) ti ; 强制转换,丢弃高位 宣告变量名称的同时,加上“final”关键词来限定,这个...
global (Boolean) : (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。 ifModified (Boolean) : (默认: false) 仅在服务器...
15、怎么判断指定路径是否为目录 65 16、怎么获取指定路径下的全部文件 65 17、Java怎么读取文件和写入文件 65 18、java怎么复制文件 68 19、用JDBC如何调用存储过程 69 20、JDBC中的PreparedStatement相比Statement...