4

我想每秒从主页向嵌入式 stackBlitz 发送一条消息,而无需重新加载主页。我找到了一种方法,通过创建如下所示的 json 文件来发送它。我正在使用角。

sdk.embedGithubProject(
    'stackblitz-frame',
    userName + '//' + repoName,
    { height: 500, width: 1500 }
).then(vm => {

    const source = interval(1000);

    const subscribe = source.subscribe(val => {

        var message = new Message();

        message.timeInfo = this.Currenttime;

        this.vm2 = vm;
        vm.applyFsDiff({
            create: {
                'src/assets/input.json': JSON.stringify({ message })
            },
            destroy: ['randomFile.ts']
        });
    });

});

在上面的示例中,我每秒发送一次 videoInfo。问题是,当它启动时,它不允许我编辑 stackblitz 项目的其余部分。我注意到在 StackBlitz 中可以通过 iframe 之间的 postMessage 进行通信,但是当尝试使用它时,它是一个私有变量。

vm.rdc.port.postMessage

我相信它的工作原理如下:https ://developer.mozilla.org/en-US/docs/Web/API/MessagePort/postMessage

但这被设置为私有属性,创建通信文件的问题是应用程序的视图一直在重新加载。我嵌入了 stackblitz:https ://stackblitz.com/edit/adding-links-app 作为子示例,此 VM 容器的查看模式不允许我在 input.json 时创建查看模式和编辑更新。

你知道嵌入式 StackBlitz 和它所在的父页面之间的任何其他通信方式吗?

谢谢

4

0 回答 0