0

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: 何か奇妙なことに気付きました: EventSource のプロトコルとして "app" を使用するとEventSource("app://demo_sse.php");、コンソールがファイルの前処理に関する行を出力する前に、プログラムがすぐにクラッシュしdemo_sse.phpます。

4

1 に答える 1

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>
于 2013-08-24T11:26:23.860 に答える