ページの一部を 10 秒ごとにリロードするコードを作成したいと考えています。(接続の問題が原因で) リロードに失敗した場合は、サウンドが再生されます。
ajaxを使用してそのようなことは可能ですか? 以前に Web チャットでこのタイプの機能を見たことがありますが、そのコードに出くわしたことはありません。
ページの一部を 10 秒ごとにリロードするコードを作成したいと考えています。(接続の問題が原因で) リロードに失敗した場合は、サウンドが再生されます。
ajaxを使用してそのようなことは可能ですか? 以前に Web チャットでこのタイプの機能を見たことがありますが、そのコードに出くわしたことはありません。
setInterval 関数を使用してみてください:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>Test</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" type="text/css">
<script src="http://code.jquery.com/jquery-1.9.1.js" type="text/javascript" language="JavaScript"></script>
<style type="text/css">
<!--
.square {
background-color: #AAAAAA;
width: 250px;
height: 100px;
}
//-->
</style>
<script type="text/javascript" language="JavaScript">
$(document).on('ready',function(){
setInterval(updateDiv,10000);
});
function updateDiv(){
$.ajax({
url: 'getContent.php',
success: function(data){
$('.square').html(data);
},
error: function(){
//Code to play a sound
$('.square').html('<span style="color:red">Connection problems</span>');
}
});
}
</script>
</head>
<body>
<h1>The next div will be updated every 10 seconds</h1>
<div class="square">
Hello
</div>
</body>
</html>
そしてphpスクリプト:
<?php
echo "Updated value --> " . rand();
?>
テストするには、php スクリプトの名前を変更し (接続の問題をシミュレート)、元の名前 (getContent.php) に変更して、正しい状況を再度テストします。お役に立てれば。