Olá pessoal,
Estou quebrando a cabeça aqui ao tentar solucionar o problema de interação entre páginas em um iframe que possa manipular uma a outra em diferentes domínios.
Por exemplo:
Tenho uma página no domínio A que tem um formulário de cadastro e na outra página que esta em um domínio B tenho um BUTTON que tem como função preencher o formulário que está na página do domínio A. Isso na funfa.
Quando as duas páginas estão em um mesmo domínio funciona certinho, agora quando chamo a mesma página, só que de outro domínio não funfa. Andei lendo na net que isso é uma questão de segurança dos navegadores que fazem esse bloqueio, chamado CROSS-DOMAIN.
Andei lendo que existe forma de manipular o CROSS-DOMAIN para chegar ao resultado esperado, a questão é que eu não consegui fazer isso funcionar, mesmo após muita procura e testes.
Abaixo deixo o código para que possa ficar mais claro a minha dúvida:
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cadastro</title>
</head>
<body>
<iframe name="top" src="Top-Frame.html" width="100%" height="550" ></iframe>
<iframe name="botton" src="Botton-Frame.html" width="100%" height="50" ></iframe>
</body>
</html>
Top-Frame.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<form>
<input name="nome" id="nome" type="text" />
<input name="sobreNome" id="sobreNome" type="text" />
</form>
</body>
</html>
Botton-Frame-html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<script language=javascript>
function inserir(){
obj1 = parent.frames['top'].document.forms[0].nome;
obj2 = parent.frames['top'].document.forms[0].sobreNome;
obj1.value = "Fabio";
obj2.value = "Dias";
}
</script>
<input type="button" value="Inserir" onClick="inserir();">
</body>
</html>
Quando chamo a página Top-Frame.html de outro domínio não funciona. Alguem podria me dar uma luz?