对于在twitter.com上运行的Greasemonkey脚本,我需要以编程方式访问主时间轴的twttr.streams.TweetStream
实例(内部称为'Home')。我正在使用Firebug和Javascript Deminifier将他们的JS代码变成可读的形式。这样,我之前可以解决我可以通过我的GM脚本中的twttr.app.currentPage().streamManager.streams.current
访问它。
这在过去几个月里表现完美。今天,Twitter似乎改变了他们的代码,打破了我的方法(显然不是他们的错;)。
我仍然可以通过twttr.app.currentPage()
访问当前页面。但是,它不再有streamManager
字段。
我尝试过各种途径,但都是死路一条。不幸的是,我还没有完全理解他们正在使用的类系统。似乎streamManager
属性仍然存在 - 在名为mixins/streamablePage
的mixin上,应该由类twttr.components.pages.Home
提供。但是,我无法弄清楚如何访问它。 (或者,如果类系统以某种不可穿透的方式隐藏它。)mixin也提供getStreamManager()
方法,但我也无法访问它,例如通过twttr.app.currentPage().getStreamManager()
。我是否需要执行任何技巧才能从外部访问这些mixin?
有人能找到另一种方法来获取此实例吗?请注意,我需要时间轴页面上使用的原始实例。是的,我可以通过new twttr.streams.TweetStream()
轻松创建一个新实例,但我正试图隐藏原始事件。
我完全清楚这个用例没有得到支持,这就是为什么我问你,而不是他们。 :)为了记录,我并没有试图做任何有害的事情,只为我自己提供额外的功能。
答案 0 :(得分:1)
直到他们再次更改它,twttr.app.currentPage()._ instance.getStreamManager()