Connection Managerで通信状態を調べるにはYAHOO.util.Connect.isCallInProgress()を使います。
パラメータにはYAHOO.util.Connect.asyncRequest()で作成されたオブジェクト(インスタンス)を指定します。通信状態であればtrue、通信が終了している場合にはfalseを返します。(サンプルを
実行する)
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>通信状態のチェック</title>
<script src="js/yahoo.js" type="text/javascript"></script>
<script src="js/connection.js" type="text/javascript"></script>
<script type="text/javascript"><!--
var conObj, startTime;
function loadFile(filename)
{
conObj = YAHOO.util.Connect.asyncRequest("get", filename,
{
success:function(httpObj) {
document.getElementById("loadStatus").innerHTML += "<br>読み込み完了";
}
},
null);
setTimeout("checkStatus()", 1000);
startTime = new Date();
}
function checkStatus()
{
var flag = YAHOO.util.Connect.isCallInProgress(conObj);
if (flag)
{
var currentTime = new Date();
var tm = currentTime.getTime() - startTime.getTime();
var tm = Math.floor(tm / 1000);
document.getElementById("loadStatus").innerHTML = tm + "秒経過";
setTimeout("checkStatus()", 1000);
}
}
// --></script>
</head>
<body>
<h1>通信状態のチェック</h1>
<form>
<input type="button" value="約8MBのファイルを読み込み" onClick="loadFile('sample.txt')"><br>
</form>
<div id="loadStatus"></div>
</body>
</html>
[
目次へ]
(2006.6.27)