Hay una página index.html en Domaina, que anida una página otra.html en DomainB a través de un iframe
Dado que la página de HTML se muestra en el iframe y su contenido de página aumentará o disminuirá dinámicamente, la barra de desplazamiento del iframe debe eliminarse ahora
Debido a las limitaciones de la política del mismo origen de JavaScript, no se puede realizar la operación entre dominios, lo que dificulta el problema
Me he referido a la práctica en línea e introduje una página de agente, o un agente.html, que pertenece a Domaina
Luego, en otro.html en DomainB, use iframe para nid agente.html
Ok, ahora la situación es:
index.html anidando otros.html usando iframe
otro.htmlnest agent.html usando iframe
¡La razón por la cual la tercera página agente.html es cumplir con las reglas de la "política del mismo origen" y completar el paso de los parámetros bajo diferentes dominios!
Nuestro objetivo final es eliminar la barra de desplazamiento y asegurarse de que se muestre todo el contenido de la página integrado
1. Obtenga la altura real de la otra.
2. Establezca la altura en la propiedad SRC del iframe que incrustó
3. En agente.html, corte el valor de altura en el atributo SRC del iframe.
En el siguiente ejemplo, se usa un truco para evitar usar setInterval () para establecer continuamente la altura del iframe.
El método es adjuntar una marca de tiempo al SRC del iframe, de modo que el navegador vuelva a cargar el agente.html cada vez
Luego deje que la función js invokemethodinTopwindow () en agente.hml se ejecute
2 html en dominio
index.html
La copia del código es la siguiente:
#{extiende 'main.html' /}
#{Establecer título: 'Home' /}
<hr>
<Div style = "Color: Red; Font-Weight: Bold"> Adaptación de la ventana-Byte las limitaciones de las políticas homólogas, y al mismo tiempo use políticas homólogas para eliminar la barra de desplazamiento del iframe, ajuste dinámicamente la altura de la ventana de la ventana , para que pueda mostrar todo el contenido de la página anidada </div>
<!-iframe que requiere un ajuste de altura dinámica->
<div style = "Text-Align: Center;">
<iframe name = "Domainb" src = "http://127.0.0.1:8088/other" scrolling = "no" frameBorder = "0"> </frame>
</div>
<script type = "text/javaScript">
function reize (altura) {
// alerta ("cambiar de tamaño");
document.getElementsByName ("DomainB") [0] .Height = altura;
}
</script>
agente.html
La copia del código es la siguiente:
<! Doctype html>
<html>
<Evista>
<meta charset = "utf-8">
<title> Insertar título aquí </title>
</ablo>
<Body>
¡Soy la página Proxy!
<script type = "text/javaScript">
Window.Onload = InvokemethodIntopWindow;
function InvokemethodInTopWindow () {
// alerta ("llame a la función bajo el mismo dominio y restablezca la altura del iframe");
var domaina = document.parentwindow;
var realHeight = domaina.location.hash.split ("#") [1];
// Último paso: llame a la función de la ventana superior para restablecer la altura del iframe
parent.parent.resize (realHeight);
// alerta ("Realheight:"+realHeight);
//alert(Document.ParentWindow.name) ;///obtiene el nombre de la ventana donde se encuentra el contenedor Domaina
//error://alert(Document.ParentWindow.Parent.name);
//alert(document.parentwindow.parent.parent.name) ;// la ventana de nivel superior pertenece a Domaina, por lo que se puede acceder
}
// Después de establecer el atributo SRC del iframe con diferentes marcas de tiempo, no necesita usar setInterval ()
// setInterval ("InvokemethodInToPWindow ()", 100);
</script>
</body>
</html>
Otro.html en Domainb
La copia del código es la siguiente:
<! Doctype html>
<html>
<Evista>
<meta charset = "utf-8">
<title> Insertar título aquí </title>
</ablo>
<Body onClick = "proxy ()">
<!-página incrustada en el dominio a->
<botón tipo = "botón" onClick = "btnclick ()"> Switch Display </boton>
<div style = "Display: Ninguno">
En JavaScript, existe una limitación de seguridad muy importante llamada "Política del mismo origen".
Esta estrategia coloca restricciones importantes en el contenido de la página al que el código JavaScript puede acceder, es decir, JavaScript solo puede acceder al contenido en el mismo dominio que el documento que lo contiene.
El llamado origen homólogo se refiere al mismo nombre de dominio, protocolo y puerto.
En JavaScript, existe una limitación de seguridad muy importante llamada "Política del mismo origen".
Esta estrategia coloca restricciones importantes en el contenido de la página al que el código JavaScript puede acceder, es decir, JavaScript solo puede acceder al contenido en el mismo dominio que el documento que lo contiene.
El llamado origen homólogo se refiere al mismo nombre de dominio, protocolo y puerto.
En JavaScript, existe una limitación de seguridad muy importante llamada "Política del mismo origen".
Esta estrategia coloca restricciones importantes en el contenido de la página al que el código JavaScript puede acceder, es decir, JavaScript solo puede acceder al contenido en el mismo dominio que el documento que lo contiene.
El llamado origen homólogo se refiere al mismo nombre de dominio, protocolo y puerto.
En JavaScript, existe una limitación de seguridad muy importante llamada "Política del mismo origen".
Esta estrategia coloca restricciones importantes en el contenido de la página al que el código JavaScript puede acceder, es decir, JavaScript solo puede acceder al contenido en el mismo dominio que el documento que lo contiene.
El llamado origen homólogo se refiere al mismo nombre de dominio, protocolo y puerto.
En JavaScript, existe una limitación de seguridad muy importante llamada "Política del mismo origen".
Esta estrategia coloca restricciones importantes en el contenido de la página al que el código JavaScript puede acceder, es decir, JavaScript solo puede acceder al contenido en el mismo dominio que el documento que lo contiene.
El llamado origen homólogo se refiere al mismo nombre de dominio, protocolo y puerto.
En JavaScript, existe una limitación de seguridad muy importante llamada "Política del mismo origen".
Esta estrategia coloca restricciones importantes en el contenido de la página al que el código JavaScript puede acceder, es decir, JavaScript solo puede acceder al contenido en el mismo dominio que el documento que lo contiene.
El llamado origen homólogo se refiere al mismo nombre de dominio, protocolo y puerto.
En JavaScript, existe una limitación de seguridad muy importante llamada "Política del mismo origen".
Esta estrategia coloca restricciones importantes en el contenido de la página al que el código JavaScript puede acceder, es decir, JavaScript solo puede acceder al contenido en el mismo dominio que el documento que lo contiene.
El llamado origen homólogo se refiere al mismo nombre de dominio, protocolo y puerto.
En JavaScript, existe una limitación de seguridad muy importante llamada "Política del mismo origen".
Esta estrategia coloca restricciones importantes en el contenido de la página al que el código JavaScript puede acceder, es decir, JavaScript solo puede acceder al contenido en el mismo dominio que el documento que lo contiene.
El llamado origen homólogo se refiere al mismo nombre de dominio, protocolo y puerto.
En JavaScript, existe una limitación de seguridad muy importante llamada "Política del mismo origen".
Esta estrategia coloca restricciones importantes en el contenido de la página al que el código JavaScript puede acceder, es decir, JavaScript solo puede acceder al contenido en el mismo dominio que el documento que lo contiene.
El llamado origen homólogo se refiere al mismo nombre de dominio, protocolo y puerto.
</div>
<div style = "Display: Block">
Por ejemplo, un programa de hackers usa iframe para incrustar la página de inicio de sesión del banco real en su página.
Su página se puede leer en el contenido de entrada en su formulario a través de JavaScript, para que el nombre de usuario y la contraseña se puedan obtener fácilmente.
Por ejemplo, un programa de hackers usa iframe para incrustar la página de inicio de sesión del banco real en su página.
Su página se puede leer en el contenido de entrada en su formulario a través de JavaScript, para que el nombre de usuario y la contraseña se puedan obtener fácilmente.
Por ejemplo, un programa de hackers usa iframe para incrustar la página de inicio de sesión del banco real en su página.
Su página se puede leer en el contenido de entrada en su formulario a través de JavaScript, para que el nombre de usuario y la contraseña se puedan obtener fácilmente.
Por ejemplo, un programa de hackers usa iframe para incrustar la página de inicio de sesión del banco real en su página.
Su página se puede leer en el contenido de entrada en su formulario a través de JavaScript, para que el nombre de usuario y la contraseña se puedan obtener fácilmente.
Por ejemplo, un programa de hackers usa iframe para incrustar la página de inicio de sesión del banco real en su página.
Su página se puede leer en el contenido de entrada en su formulario a través de JavaScript, para que el nombre de usuario y la contraseña se puedan obtener fácilmente.
Por ejemplo, un programa de hackers usa iframe para incrustar la página de inicio de sesión del banco real en su página.
Su página se puede leer en el contenido de entrada en su formulario a través de JavaScript, para que el nombre de usuario y la contraseña se puedan obtener fácilmente.
Por ejemplo, un programa de hackers usa iframe para incrustar la página de inicio de sesión del banco real en su página.
Su página se puede leer en el contenido de entrada en su formulario a través de JavaScript, para que el nombre de usuario y la contraseña se puedan obtener fácilmente.
Por ejemplo, un programa de hackers usa iframe para incrustar la página de inicio de sesión del banco real en su página.
Su página se puede leer en el contenido de entrada en su formulario a través de JavaScript, para que el nombre de usuario y la contraseña se puedan obtener fácilmente.
</div>
<!-páginas incrustadas en el dominio A en reversa->
<iframe name = "Domaina" src = "" style = "Display: Ninguno"> </iframe>
<!-script->
<script type = "text/javaScript">
// esconder o mostrar div
función btnclick () {
var div = document.getElementsBytagName ("div");
para (var i en div) {
if (i <div.length)
div [i] .style.display = (div [i] .style.display == 'Ninguno')?
}
}
</script>
<script type = "text/javaScript">
función proxy () {
// alerta ("BTN Click");
// Obtener la altura de esta página
var scrollheight = document.documentelement.scrollheight;
// alerta ("Scrollbar Altura:"+ScrollHeight);
// Establezca la altura de la ventana primero en la propiedad SRC del iframe perteneciente a Domaina
var iframedomaina = document.getElementsByName ("Domaina") [0];
// El objetivo final es resolver las limitaciones de la "política del mismo origen" utilizando una página de Domaina como proxy.
var url = "http: // localhost: 9000/agente";
/** Consejo: deje que el navegador vuelva a cargar el iframe cada vez a través de una marca de tiempo, para que la altura del iframe anidado se establezca automáticamente cada vez, evitando el uso de setInterval ()*/
iframedomaina.src = url + "? Time =" + new Date (). getTime () + "#" + scrollHeight;
}
Window.Onload = proxy;
</script>
</body>
</html>