跨越受保护的油脂执行空间和不安全的窗户之间的边界的问题

时间:2010-05-18 14:37:29

标签: javascript greasemonkey

这是我的问题: 我已经在雅虎事件驱动的网页(betfair.com市场视图)中注册了一些回调,并使用处理程序捕获betsPlaced事件。

到目前为止这么简单。

下一阶段是让事件回到greasemonkey土地,虽然我知道从greasemoney空间你可以调用unsafeWindow.stuff,没有反向操作(按设计)。

因此,如果我想将事件的内容发送到,例如,一个cometd队列,我仔细设置jquery,greasemonkey,YUI2,betfair环境失败,告诉我unsafeWindow进程无法调用GM_ajax的东西。这显然是安全和理智的,但它基本上阻止了我做我想做的事。

有没有人试过这样做(忽略了一下来的东西,只是一般的ajax调用)并成功了?

我看过这样的网页:http://wiki.greasespot.net/0.7.20080121.0%2B_compatibility 但它似乎不适用于所有电话。

2 个答案:

答案 0 :(得分:1)

这对我来说似乎并不清楚。为什么不能使用addEventListener()preventDefault()stopPropagation()等将事件从GM端捕获?

无论如何,最坏的情况,你不能做这样的事吗?

  1. 创建一个隐藏的iframe,div或其他内容,并让GM监视它以进行DOM更改事件。
  2. 将捕获的事件信息写入该节点。
  3. 然后Greasemonkey会解析数据,并根据需要使用GM_ajax。

答案 1 :(得分:0)

使用setTimout作为您在Greasespot wiki中链接的页面解释,应该有效,我猜你没有错误地实现这个工作。