HTML5 Server已发送事件在TideSDK中无效

时间:2012-11-18 23:28:33

标签: tidesdk

我正在尝试使用TideSDK 1.3.1-beta在我的桌面应用程序中使用Server Sent Events。代码在通过基于webkit的浏览器查看的localhost上完美运行,但是当通过TideSDK运行程序时,什么也没发生。

我正在使用的Javascript就是这样:

<script>
var source=new EventSource("demo_sse.php");
source.onmessage=function(event)
{
 document.getElementById("result").innerHTML+=event.data + "<br>";
 alert(event.data);
}
</script>

demo_sse.php页面如下所示:

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>

我知道这不仅仅是一些愚蠢的错误,因为就像我说的那样,它在浏览器中完美运行,但是当通过TideSDK运行时,什么都没发生。 解决这个问题非常重要。如果有人能提供任何见解,请告诉我。

PS:我注意到一些奇怪的事情:如果我使用“app”作为EventSource中的协议,例如EventSource("app://demo_sse.php");,程序会在控制台输出有关预处理demo_sse.php文件的行之前立即崩溃。

1 个答案:

答案 0 :(得分:0)

<?php

header('Content-Type: text/event-stream');

header('Cache-Control: no-cache');

$time = date('r');

echo "data: The server time is: {$time}\n\n";

flush();

?>
<script>

var source=new EventSource("demo_sse.php");

source.onmessage=function(event)

{

 document.getElementById("result").innerHTML+=event.data + "<br>";


 alert(event.data);

}

</script>