アップデート:
私は Counter.aspx.cs を持っています
private int counter = 0;
protected void Page_Load(object sender, EventArgs e)
{
while (true)
{
counter++;
Response.Write(counter+"<br>");
Response.Flush();
System.Threading.Thread.Sleep(1000);
if (counter == 10)
break;
}
Response.Write("End");
}
そして Index.aspx
<script language="javascript">
function getData() {
var url = "Counter.aspx";
loadXMLDoc(url);
}
var req = false;
function createRequest() {
// branch for native XMLHttpRequest object
if (window.XMLHttpRequest && !(window.ActiveXObject)) {
try {
req = new XMLHttpRequest();
} catch (e) {
req = false;
} // branch for IE/Windows ActiveX version
} else if (window.ActiveXObject) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
req = false;
}
}
}
}
function loadXMLDoc(url) {
try {
if (req) {
req.abort();
req = false;
}
createRequest();
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET", url, true);
req.send("");
} else {
alert('unable to create request');
}
} catch (e) {
alert(e.message);
}
}
function processReqChange() {
if (req.readyState == 3) {
try {
ProcessInput(req.responseText);
if (req.responseText.length > 3000) {
getData();
}
} catch (e) {
alert(e.message);
}
}
}
var lastDelimiterPosition = -1;
function ProcessInput(input) {
var outputZone = document.getElementById("outputZone");
outputZone.innerHTML = input;
}
</script>
<body>
<input type="button" value="Start" onclick="javascript: getData()"/>
<span id="outputZone"></span>
</body>
そこで、同じ URL ~/Index.aspx で 2 つのブラウザーを開き、両方のブラウザーで同時に開始ボタンをクリックすると、最初に「開始」をクリックしたブラウザーが 1... 10 カウントを開始します。次に、最初のブラウザーがカウントを終了した後でのみ、2 番目のブラウザーが 1... 10 のカウントを開始します。両方のブラウザが同時にカウントを開始できるようにする方法はありますか?