Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 4712|Resposta: 2

[HTML/HTML5] Comunicação entre janelas em HTML5 PostMessage

[Copiar link]
Publicado em 30/07/2022 22:07:04 | | | |
PostMessage é uma nova API de comunicação cross-origin introduzida em html5 que permite que você se comunice bidirecionalmente com a página principal e qualquer página de classe frame ou uma página aberta por window.open. Seu processo geral de operação é o seguinte:



O JS determina se a página atual é um iframe ou uma janela popup
https://www.itsvse.com/thread-10342-1-1.html


O método postMessage(data,origin) aceita dois parâmetros:

(1) dados: Os dados a serem passados, a especificação HTML5 menciona que o parâmetro pode ser qualquer tipo básico de JavaScript ou um objeto reproduzível, mas nem todos os navegadores fizeram isso, alguns só conseguem lidar com parâmetros de string, então precisamos usar o método JSON.stringify() para serializar os parâmetros do objeto ao passar os parâmetros, e nos referir a json2.js na versão inferior do IE para alcançar efeitos semelhantes.

(2) origem: Parâmetro de string, indicar a origem da janela de destino, protocolo + host + número da porta [+URL], a URL será ignorada, então não pode ser escrita, esse parâmetro é por questões de segurança, o método postMessage() só passa a mensagem para a janela especificada, claro, se quiser, você também pode definir o parâmetro para "*", para que ela possa ser passada para qualquer janela, se quiser especificar a mesma origem da janela atual, ela está definida como "/";


Envie e receba mensagens você mesmo

O código é o seguinte:



A janela pai envia uma mensagem para a janela filha, e a janela filha recebe a mensagem

O código é o seguinte:




A janela filho envia uma mensagem para a janela pai, e a janela mãe recebe a mensagem

O código é o seguinte:



Além disso, um modo simples de ouvinte/cliente é conectado ao cliente para mensagens entre domínios no seguinte endereço:O login do hiperlink está visível.

(Fim)




Anterior:O JS determina se a página atual é um iframe ou uma janela popup
Próximo:Docker modifica e restringe CPU de container, memória e outros recursos
Publicado em 30/07/2022 22:46:07 |
Aprenda a aprender...
 Senhorio| Publicado em 18/02/2023 21:25:31 |
Exemplo pós-robô de comunicação por janela de navegador
https://www.itsvse.com/thread-10428-1-1.html
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com