我正在开发一个应用程序来检查我的数据库是否已更新,如果是,我的应用程序会显示新值。
客户端:
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 中完成这项工作?