我不确定如何最好地解释这个问题。
我有一个带有一些自定义事件处理程序的 Javascript EventSource 对象,例如:
var source = new EventSource('updates.php');
source.addEventListener('add', addHandler, false);
source.addEventListener('remove', removeHandler, false);
在updates.php 中,我可以使用更新流的“event:”参数定义自定义事件,如下所示,以触发适当的处理程序。
echo "event: add" . PHP_EOL;
echo "data: " . $message . PHP_EOL;
这在updates.php中工作正常
updates.php 通过require_once 包含updates2.php。这也适用于updates2.php,并在我的Javascript 中调用正确的处理程序。
updates2.php 通过require_once 包含updates3.php。这在updates3.php 中不起作用——所有事件都默认为“消息”类型并且不会触发自定义处理程序。