prototype.jsはデータの通信を開始した際にonLoadingイベントが発生します。この時に通信用のオブジェクトをグローバル変数に入れておきます。あとは、abort()メソッドで通信を中断することができます。ただし、この方法が良いとは考えられないので他に良い方法があるはずです。(サンプルを
実行する)
			<html>
			<head>
			<meta http-equiv="content-type" content="text/html;charset=utf-8">
			<title>prototype.jsサンプル</title>
			<script src="prototype.js" type="text/javascript"></script>
			<script type="text/javascript"><!--
			gHttpObj = null;
			function waitData()
			{
				msec = (new Date()).getTime();
				new Ajax.Request("wait.rb", { method: "get",
					onLoading:initHttpObj,
					onComplete: displayData
				});
			}
			function initHttpObj(httpObj)
			{
				
gHttpObj = httpObj;
				$("result").innerHTML = "読み込み中...";
			}
			function httpAbort()
			{
				
gHttpObj.abort();
				$("result").innerHTML = "読み込みを中断しました";
			}
			function displayData(httpObj)
			{
				$("result").innerHTML = httpObj.responseText;
			}
			// --></script>
			</head>
			<body>
			<h1>prototype.jsサンプル</h1>
			<form>
			<input type="button" value="読み込み" onClick="waitData()">
			<input type="button" value="読み込み中止" onClick="httpAbort()">
			</form>
			<div id="result"></div>
			</body>
			</html>
[
目次へ]
(2006.3.24)