您的位置:首页 > 理论基础 > 计算机网络

【web】http长连接技术(6)iframe demo的简化

2008-05-10 12:35 323 查看
标签:web javascript comet php
通过对这个例子的分析,我们也可以完全不用comet,直接使用iframe.
也可以不用prototype.js
Index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Comet demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

</head>
<body>
<div id="content">The server time will be shown here</div>
<IFRAME id=workerWin name=workerWin src="./backend.php" width=0 height=0></IFRAME>

<script type="text/javascript">

function printServerTime(time) {
//document.getElementById("content").innerHTML = time; //和下面方法等效
document.all("content").innerHTML = time;
//$('content').innerHTML = time; //需要prototype.js

}

</script>

</body>
</html>
说明:
这里去掉了comet对象,也没有动态生成iframe,而是直接使用显式的iframe定义。
prototype.js在这个例子作用不大,也可以去掉。直接通过dhtml/dom定位页面元素

backend.php
<?php

while(1) {
echo '<script type="text/javascript">';
echo 'window.parent.printServerTime('.time().');';
//echo 'alert(1);';
echo '</script>';
ob_flush();
flush(); // used to send the echoed data to the client
sleep(1); // a little break to unload the server CPU
}

?>

说明:调用的printServerTime函数直接是页面定义的,没有通过comet封装。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: