1

データベースが更新されているかどうかを確認するアプリケーションを開発しています。更新されている場合、アプリは新しい値を表示します。

クライアント側:

if(typeof(EventSource)!=="undefined") {
  var eSource = new EventSource("http://mydomain.org/app.php");
  eSource.onmessage = function(event) {}
}

サーバ側:

<?php
header("Content-Type: text/event-stream");
header("Cache-Control: no-cache");
header("Access-Control-Allow-Origin: *");
echo "data:Hello World\n\n";
?>

これで、すべてが Firefox と Chrome で動作します。アプリは Safari ベースのブラウザーで実行されます。Safariでは、私は得る

SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent.

したがって、Access-Control-Allow-Origin にはワイルドカードがありますが、この問題はクロスオリジンの投稿と関係があります。これをSafariで機能させる方法はありますか?

4

2 に答える 2

0

Safariのバージョンは?EventSource の CORS は、Chrome 25 以降および Safari 6.1 以降まで壊れていたと思います。

于 2013-11-03T09:58:21.137 に答える