更改Server-Sent事件的源(url)

问题描述 投票:4回答:2

如何更改EventSource声明中的源集?

我试过这样的事情:

var source = new EventSource("/blahblah.php?path=" + (window.location.pathname));
// Few lines later...
source.url = "/blahblah.php?path=" + url;

但是,source.url保持不变......

这甚至可能吗?或者也许有其他方法可以做到这一点?

javascript php server-sent-events
2个回答
2
投票

不,这是不可能的。传递给EventSource()的新URL会创建一个新的EventSource对象。


1
投票

guest271314向我提出了很多解决方案,但对我来说,与sse保持相比会更好,更快,更简单。

我通过关闭和删除(所有必要的)源var来更改源。

这就是我做的方式:

source.url = "/blahblah2.php";

source.close();
delete source;

//Redefine source

重要提示:如果您使用var定义了源代码,则无效!重新定义也应该没有它!

© www.soinside.com 2019 - 2024. All rights reserved.