Devido às limitações das políticas homólogas, a comunicação entre domínios sempre foi um problema difícil. Claro que existem muitas soluções:
1. As configurações do documento.Domain+iframe são aplicadas ao domínio principal e o subdomínio são diferentes;
2. Usando iframe e location.hash, os dados são expostos diretamente ao URL e a capacidade e o tipo de dados são limitados.
3.Flash LocalConnection, os objetos podem se comunicar em um arquivo SWF ou entre vários arquivos SWF, desde que
Apenas esteja no mesmo cliente, aplicações cruzadas e domínio cruzado.
Window.Name salva dados e o domínio cruzado do esquema de transmissão dinâmica de proxy estático, utiliza totalmente o recurso de Window.name que não muda devido a alterações na URL da página.
Existem muitos códigos de exemplo na internet, você pode procurá -los você mesmo.
Uma das APIs mais legais do HTML5: Mensagens de documentos cruzados. Navegador avançado Internet Explorer 8+, Chrome, Firefox, Opera e Safari apoiarão esse recurso. Esta função também é muito simples de implementar, incluindo principalmente o evento "Mensagem" que aceita informações e o método "PostMessage" que envia mensagens.
O método "Postmessage" para enviar uma mensagem
Envie uma mensagem para a janela externa:
A cópia do código é a seguinte: outrowindow.postMessage (mensagem, Targetorigin);
OtherWindow: refere -se à janela de destino, isto é, qual janela é enviada, é um membro do atributo Window.Frames ou uma janela criada pela janela.
Descrição do parâmetro:
1.Message: é a mensagem a ser enviada, o tipo é string, objeto (não suportado pelo IE8, 9)
2.TargetPorin: é um intervalo de recebimento limitado e você não o restringe.
Evento de "mensagem" que aceita informações
A cópia do código é a seguinte:
var onMessage = function (evento) {
var dados = event.data;
var orige = event.origin;
// Faça algum pouco
};
if (typeof window.addeventListener! = 'indefinido') {
window.addeventListener ('mensagem', onMessage, false);
} else if (typeof window.attachevent! = 'indefinido') {
// para ie
window.attachevent ('onMessage', onMessage);
}
O primeiro parâmetro da função de retorno de chamada recebe o objeto do evento e possui três propriedades comuns:
1.Data: mensagem
2. Origin: endereço de origem
3.Source: Orient DomWindow Object
Obviamente, o Postmessage também tem algumas deficiências:
1. Os valores do tipo de dados passados no IE8 e IE9 suportam tipos de string, mas você pode usar a conversão mútua entre objetos JSON e strings para resolver esse problema;
2.E6, IE7 precisa escrever um plano de compatibilidade.