No desenvolvimento do front-end da Web, geralmente usamos o controle do IFRAME.
No entanto, ao controlar as interações internas e externas, as palavras -chave usadas por cada navegador geralmente são diferentes, o que é muito problemático. Para obter o objeto de janela no sub-estrutura, cada navegador tem suas próprias especificações, algumas são janelas, outras são conteúdo e assim por diante, e talvez haja alguns que não sabemos.
No entanto, basta acessar a página da camada pai da página infantil e, na forma original, todo mundo é janela.
Em seguida, através desse recurso, podemos passar nosso próprio objeto de janela para a página pai na página infantil, para que a página pai possa acessar facilmente a página filho e não precisamos mais nos preocupar com como obter o objeto da janela do objeto iframe.
Sem dizer uma palavra, vejamos o código primeiro:
Código da página pai:
window.iframewindow = null; function frameReady (subwindow) {window.iframewindow = subwindow; //Atribuição}; <iframe src = "xx"> </frame>Código de subpagem:
$ (function () {window.parent.fameready (janela);});Através do código simples acima, você pode acessar o objeto IframeWindow na página pai e obter diretamente o objeto da janela da página infantil, que é muito sem cérebro e muito útil.
E se eu tiver vários iframes?
Essa situação será um pouco mais complicada, mas não importa. Queremos continuar usando a solução acima, então vamos analisar a situação atual:
1. Devemos precisar de um objeto de coleção semelhante ao IFRAMEWindows para gerenciar objetos de janela para todas as subpáginas.
2. Quando cada página infantil chama parent.frameready, ela deve confiar em um nome exclusivo para a página pai, para que possamos acessar com precisão cada iframe na página pai.
Então é simples agora. O que a subpagem precisa fazer é nada mais que um nome, número, etc. Vejamos o código
window.subwindowname = "helloworldwindow"; $ (function () {window.parent.frameready (window.subwindowname, janela);});Então, o que a página pai precisa fazer é refatorar o FrameReady e adicionar um parâmetro
window.iframewindows = {}; // Isso se torna uma função de objeto FrameReady (nome, janela) {window.iframewindows [name] = window;}; function getSubwindow (name) {return window.iframewindows [nome];}Resumir:
As páginas construídas com este esquema têm as seguintes vantagens:
1. A interação das páginas dos pais depende apenas das palavras -chave dos pais (e da maneira anterior, elas não apenas dependem do pai, mas também do conteúdo da Window, da janela e de outras palavras -chave incertas. O mais importante é que o suporte aos pais ainda é muito bom)
2. Objetos unificados de janela, reduzindo a cadeia de referência solicitada toda vez que forem usados e melhorando a velocidade da operação
3. O ponto mais importante: é que o código é muito mais fácil de escrever.
O exposto acima é a solução para a interação e compatibilidade do iframe JavaScript com vários navegadores introduzidos pelo editor. Espero que seja útil para todos. Se você tiver alguma dúvida, deixe -me uma mensagem e o editor responderá a todos a tempo. Muito obrigado pelo seu apoio ao site wulin.com!