javascript - 如何从 reactjs 中的 iframe 订阅在 dojo 中发布的事件
问题描述
我在dojo中有以下代码:
topic.publish("select",data);
我想订阅这个事件并在用 reactjs 编写的 iframe 中获取数据。
在这里,首先加载父窗口,即 dojo 代码,然后在菜单上单击反应代码中的 iframe 启动。
我可以有一个全局事件侦听器,我可以在我的 dojo 代码中订阅它并在 iframe 启动后使用相同的侦听器吗?
解决方案
您可以尝试发出CustomEvent,因为我看不出如何在不将 dojo/topic 作为依赖项导入的情况下在 react 中捕获 dojo/topic。
function fireEvent(data) {
let e = new CustomEvent('dojoevent', {detail: data});
window.dispatchEvent(e);
}
window.addEventListener('dojoevent', function (e) {
console.log('dojoevent', e.detail);
});
fireEvent(1000)
推荐阅读
- angular - 身份服务器连接授权几次失败
- python - 为什么我不能在函数内修改列表(作为一个整体)?
- java - GCP Cloud Run API(SDK) - 以编程方式创建服务
- mysql - 如何在 Golang 中处理 Bit(1) 类型
- elasticsearch - 如何在elasticsearch中更新字段的数据类型
- flutter - 如何从 Webflow 加载 Flutter Web 应用程序?
- python - 如何选择 texbox 并搜索内容并在 selenium - python 中选择第一个选项?
- solver - 如何使用 Python 解决以字符串格式给出的布尔表达式?
- bitbucket - Bitbucket Pipeline:我们可以在构建开始时获取参数值吗
- python-multiprocessing - python多处理突然只使用一个核心