forum icon indicating copy to clipboard operation
forum copied to clipboard

Receber dados através de Cross Document Message

Open EGMartins opened this issue 7 years ago • 3 comments

Boa noite a todos! Estou começando com Vue, venho do Angular 2. Estou gostando muito da experiência. Estou com uma dificuldade e gostaria da opinião de vocês... Tenho um app em Vue, que foi injetado em uma aplicação Rails existente através de um iFrame. Estou tendo dificuldade em fazer comunicação entre a aplicação e o o Vue através de Cross Document Message ( postMessage() ). Eu envio a mensagem corretamente do "hospedeiro", porém não estou sabendo como receber a informação no Vue. Alguém pode me dar uma luz?

Obrigado!!

EGMartins avatar Feb 08 '18 01:02 EGMartins

Olá @EGMartins, que bom que está gostando do vue. Está dando algum erro? Não está acontecendo nada? Ou você nao sabe nem por onde começar? Pelo que eu entendi vc tem uma página html com o Vue instanciado, e algum frame de fora está tentando se comunicar. É isso ?

danielschmitz avatar Feb 08 '18 16:02 danielschmitz

Bom dia @danielschmitz, tudo bem? Na verdade o Vue é quem está dentro do iframe. Eu resolvi essa questão, adicionando event listeners dos dois lados. Quando minha página com o Vue acaba de carregar (utilizei o callback mounted), ele manda uma mensagem para página superior avisando que está pronta. Aí a aplicação começa o envio das informações e continua enviando a cada 3 segundos. Quando eu receber o que preciso, mando outra mensagem para que ela pare de enviar as informações. Agora está funcionando 100%! Obrigado pelo apoio!

EGMartins avatar Feb 09 '18 11:02 EGMartins

Desculpa ressuscitar a issue, mas a algum tempo rolou uma pergunta similar no Slack e eu fiz um GIST de uma função pra se comunicar com o Vue através de um

https://gist.github.com/VitorLuizC/9538e34c41c46557ea6b8aa5b02fa52d

VitorLuizC avatar Jan 03 '19 15:01 VitorLuizC