Como o iframe sem bordas pode ser perfeitamente integrado à página web, é possível atualizar alguns dados da página sem atualizar a página. Porém, o tamanho do iframe não é tão "escalável" quanto a camada, por isso traz problemas. em uso. Problema, muito não é bom ao definir a altura do iframe, e menos é ainda pior. Agora, deixe-me mostrar uma maneira de ajustar dinamicamente a altura do iframe, principalmente a seguinte função JS:
código do programa
função SetWinHeight(obj)
{
var win=obj;
se (document.getElementById)
{
if (ganhar &&!window.opera)
{
if (win.contentDocument && win.contentDocument.body.offsetHeight)
win.height = win.contentDocument.body.offsetHeight;
senão if(win.Document && win.Document.body.scrollHeight)
win.height = win.Document.body.scrollHeight;
}
}
}
Finalmente, ao adicionar um iframe, você não pode perder o atributo onload. É claro que o id também deve corresponder ao win na função.
código do programa
<iframe width="778" align="center" height="200" id="win" name="win" onload="Javascript:SetWinHeight(this)" frameborder="0" scrolling="no"></ iframe>
solução iframe para outra situação (super simples)
Nota importante: O endereço da página da web que você deve preencher src= deve estar no mesmo site desta página, caso contrário, ocorrerá um erro e dirá "Acesso negado!" (Na verdade, isso é devido ao problema de domínio cruzado de Js que leva à negação de acesso).
Já encontrei esse problema antes. Pesquisei online para obter a resposta e descobri que muitas pessoas também encontraram esse problema.
1. Crie um arquivo bottom.js e insira o seguinte código (apenas duas linhas)
parent.document.all("nome do ID do quadro").style.height=document.body.scrollHeight;
parent.document.all("Nome do ID do quadro").style.width=document.body.scrollWidth;
O nome do ID do quadro aqui é o ID do Iframe, por exemplo:
<IFRAME id="nome do ID do quadro" name="left" frameBorder=0 scrolling=no src="XXX.asp" width="100%"></IFRAME>
2. Adicione cada um dos arquivos incluídos ao seu site
<linguagem script = "JavaScript" src = "bottom.js"/></script>
3. OK, encerra o dia!
Passou no teste em WINXP e IE6. É muito simples!
Implementar altura adaptativa do iframe
Perceba a altura adaptativa do iframe, que pode se adaptar automaticamente ao comprimento da página para evitar o fenômeno de barras de rolagem aparecendo na página e no iframe ao mesmo tempo.
código do programa
<script type="texto/javascript">
//** o iframe se adapta automaticamente à página**//
//Insira uma lista de nomes de iframes cuja altura você deseja ajustar automaticamente com base na altura da página
//Separe o ID de cada iframe com uma vírgula. Por exemplo: ["myframe1", "myframe2"], só pode haver um formulário, portanto não é necessária vírgula.
//Define o ID do iframe
var iframeids=["teste"]
//Se o navegador do usuário não suportar iframe, seja para ocultar o iframe, sim significa oculto, não significa não oculto.
var iframehide="sim"
função dyniframesize()
{
var dyniframe = novo Array()
para (i=0; i<iframeids.length; i++)
{
se (document.getElementById)
{
//Ajusta automaticamente a altura do iframe
dyniframe[dyniframe.length] = document.getElementById(iframeids);
if (dyniframe &&!window.opera)
{
dyniframe.style.display="bloquear"
if (dyniframe.contentDocument && dyniframe.contentDocument.body.offsetHeight) //Se o navegador do usuário for NetScape
dyniframe.height = dyniframe.contentDocument.body.offsetHeight;
else if (dyniframe.Document && dyniframe.Document.body.scrollHeight) //Se o navegador do usuário for IE
dyniframe.height = dyniframe.Document.body.scrollHeight;
}
}
//De acordo com os parâmetros definidos, resolva os problemas de exibição de navegadores que não suportam iframe
if ((document.all || document.getElementById) && iframehide=="não")
{
var tempobj=document.all? document.all[iframeids] : document.getElementById(iframeids)
tempobj.style.display="bloquear"
}
}
}
se (janela.addEventListener)
window.addEventListener("carregar", dyniframesize, falso)
senão se (window.attachEvent)
window.attachEvent("onload", dyniframesize)
outro
janela.onload=dyniframesize
</script>
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1608312