O domínio A.HTML pertence à página principal A: www.taobao.com
O domínio B ao qual a página IFRamed B.HTML pertence: www.alimama.com, assumindo o endereço: http://www.alimama.com/b.html
Perceba o efeito :A página sob o nome de domínio A A.html é incorporada na página B.HTML sob o nome B B através de um iframe. Como a largura e a altura do B.HTML são imprevisíveis e mudarão, é necessário o tamanho adaptativo do IFRAME em A.HTML.
A natureza do problema:O problema do acesso ao domínio cruzado de JS, porque, para controlar a altura e a largura do iframe em A.HTML, você deve primeiro ler o tamanho de B.HTML. A e B não pertencem ao mesmo domínio. Por razões de segurança, o navegador restringe o acesso ao domínio cruzado ao JS e não pode ler a altura e a largura do B.HTML.
Solução:A página proxy de proxy c.html pertence ao mesmo domínio A e A.HTML. C.html é uma página de proxy intermediária fornecida sob o domínio A a. Suponha que o endereço de c.html seja: www.taobao.com/c.html, responsável por ler os valores de largura e altura no local.hash e, em seguida, definir a largura e a altura do iframe em A.html no mesmo domínio que ele.
O código é o seguinte:A.HTML Código
Primeiro, B.Html foi introduzido através do IFRame em A.HTML
<iframe id = b_iframe altura = 0 ′ largura = 0 ′ src = http: //www.alimama.com/b.html frameBerDorder = sem borda = 0px marginwidth = 0 ′ marginHeight = 0 ′ rolagem = sem permitir = sim> <friM>
B.HTML Código
<Script Type = Text/JavaScript>
var b_width = math.max (document.documentElement.clientWidth, document.body.clientWidth);
var b_Height = Math.max (document.documentElement.clientHeight, document.body.clientHeight);
var c_iframe = document.getElementById (c_iframe);
c_iframe.src = c_iframe.src+#+b_width+|+b_height; //http://www.taobao.com/c.html#width|Height
}
</script>
<!-JS lê a largura e a altura de B.Html e define a largura e a altura da leitura para a página do proxy médio de C.HTML no mesmo domínio e define a largura e a altura da leitura para o hash do SRC de C.Html->
<iframe id = c_iframe altura = 0 ′ largura = 0 ′ src = http: //www.taobao.com/c.html style = display: none> </frame>
Código c.html
<Script Type = Text/JavaScript>
var b_iframe = parent.parent.document.getElementById (b_iframe);
var hash_url = window.location.hash;
var hash_width = hash_url.split (#) [1] .split (|) [0]+px;
var hash_height = hash_url.split (#) [1] .split (|) [1]+px;
b_iframe.style.width = hash_width;
b_iframe.style.Height = hash_height;
</script>
O iframe em A.HTML pode se adaptar à largura e altura de B.Html.
Outros problemas de operação entre domínios semelhantes ao JS também podem ser resolvidos de acordo com essa ideia