如何制作Y.io';s全局事件跨实例广播

如何制作Y.io';s全局事件跨实例广播,io,yui,Io,Yui,我想在我的所有网页中监听所有io请求,但是,当我使用下面的语法时,我只能监听带有yui实例的io Y.on('io:success',myCallBack) 如何编写自定义方法/事件或其他东西来实现这一点 我的问题实际上与下面的URL相同: 我在谷歌上搜索了一会儿,但没有找到一个实用的答案,任何帮助都将不胜感激,谢谢。试试看 (Y.io._map['io:0'] || new Y.IO()).publish({ 'io:success': { broadcast: 2 }, '

我想在我的所有网页中监听所有io请求,但是,当我使用下面的语法时,我只能监听带有yui实例的io

Y.on('io:success',myCallBack)

如何编写自定义方法/事件或其他东西来实现这一点

我的问题实际上与下面的URL相同:

我在谷歌上搜索了一会儿,但没有找到一个实用的答案,任何帮助都将不胜感激,谢谢。

试试看

(Y.io._map['io:0'] || new Y.IO()).publish({
    'io:success': { broadcast: 2 },
    'io:complete': { broadcast: 2 },
    etc.
});

io.jsp
测试
YUI()。使用(“io基”,函数(Y){
函数onSuccess(transactionid、响应、参数){
警报(“启动”);
}
Y.Global.on('io:start',onSuccess);
});
Y1=YUI()。使用(“io基”、“节点”、函数(Y1){
Y1.发布('io:start',{broadcast:2});
Y1.io(”http://www.yahoo.com.hk");   
});
最后,我举了一个例子,但它只在FF、Chrome上有效,但在IE中失败:


如果有任何改进,请提出建议,谢谢。

非常感谢!但你能给我举个实际的例子吗?因为我还不熟悉YUI API。YUI 3的主要使用案例包括保持您的代码处于沙盒状态,全球环境无法访问。因此,跨实例的通信要么没有完成,要么通过Y上发布的、配置了
广播:2
的其他自定义事件完成。然后,这些事件将从沙箱中的IO事件订阅服务器中触发。如果您不需要/不想要沙箱,请使用SimpleUI或
var Y=YUI()
全局公开YUI实例。我再次搜索了api,如果不在每个实例中添加Y.publish,似乎无法实现这一点。
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>io.jsp</title>
<script src="/spring-test/scripts/yui_3.5.1/build/yui/yui-min.js"></script>
</head>
<body>
test

<script>

YUI().use("io-base", function(Y){

    function onSuccess(transactionid,response,arguments){
        alert('start!');
    }
    Y.Global.on('io:start',onSuccess);

});

Y1 = YUI().use("io-base", "node", function(Y1){

    Y1.publish('io:start',{broadcast : 2});
    Y1.io("http://www.yahoo.com.hk");   

});

</script>
</body>