Tengo un widget de interfaz de usuario que debe ser puesto en un IFRAME, tanto por razones de rendimiento y así podemos distribuir a los sitios de afiliados fácilmente. La interfaz de usuario para el widget incluye trucos que se muestran en la parte superior de otro contenido de la página. Vea la captura de pantalla de abajo o ir al sitio para ver en acción. Hay alguna forma de hacer que el contenido de dentro del IFRAME se superponen a los padres del marco de contenido?

Hay una manera para que el contenido de un IFRAME de desbordamiento en el marco padre?

6 Comentarios

  1. 79

    No, no es posible. Ignorando las razones históricas, hoy en día se considera una vulnerabilidad de seguridad-por ejemplo. muchos sitios de poner ese contenido en iframes (el origen de iframe siendo un origen diferente por lo que no puede modificar el padre de marco, por el origen mismo de la política).

    Si tal contenido sospechoso tenía un mecanismo para colocar contenidos fuera de los límites del iframe se puede (por ejemplo) en lugar de una «idéntica» inicio de sesión div (o lo que sea) a través de una matriz de marco real de los campos de inicio de sesión, y por lo tanto podría robar el nombre de usuario/contraseña de información. Que se lo chupan.

    • Acabo de descubrir, sin embargo, que <select> de los elementos de flujo natural de la que contiene el iFrame de la frontera (y otros elementos que contiene así) cuando su <option> contenedor es mayor que el iFrame de la frontera.
  2. 8

    No podía encontrar una manera de hacer que el contenido de la trama de flujo fuera de la trama, pero encontré una manera de cortar a su alrededor, moviendo la descripción en el documento principal y colocar por encima de (z-index) el iframe.

    El enfoque fue:

    1) encontrar el iframe en el documento principal

    2) retire la descripción de los elementos de donde está en el DOM, y agregar a los padres en el interior del elemento que contiene el iframe.

    3) es probable que necesite ajustar el z-index y posicionamiento, dependiendo de cómo se estaban haciendo en primer lugar.

    Puede acceder al documento principal de un iframe usando los padres.documento.

    jQuery(tooltip).remove(); 
    var iframeParent = jQuery("#the_id_of_the_iframe", de los padres.documento)[0].parentNode; 
    iframeParent.appendChild(información sobre herramientas); 
    //ajustar el z-index, posicionamiento 
    
    • Esto no funcionará si estos dos documentos son de diferentes dominios.
  3. 1

    Esto puede estar fuera de la marca ya sea porque es inadecuado a la luz de sus necesidades, o puede que en realidad no ayuda (!), pero podría ser vale la pena mirar UFrame. Es una especie de híbrido de iframe y div, y probablemente podría ser empaquetados como un widget (su mejor apuesta sería la de dar a los clientes un <script> etiqueta que aspiraría en UFrame y el correspondiente marcado). Lo que no estoy seguro es si se puede lograr que la superposición se necesita, pero es posiblemente vale la pena jugar con. Siento no poder ser más específico, pero no es algo hecho, he utilizado yo mismo, acabo de marcado un tiempo de referencia para el futuro.

  4. 1

    si usted sabe que el máximo absoluto de valor que la herramienta en la parte superior puede tener, puede crear un div que es la altura del contenido + la distancia máxima a la punta de la herramienta se mostrará en. Alinear el iframe a la parte inferior de la div. asegúrese de que el iframe y div son transparentes. a continuación, el contenido iframe con la punta de la herramienta debe mostrar. A pesar de que esta es la configuración de su auto hasta para el dolor de cabeza de asegurarse de que cosas como destacando el trabajo de la misma en todos los navegadores.

  5. 1

    Nido de su actual iframe y la propuesta de div, dentro de un padre iframe, para luego descender en su padre iframe al 3 partes, en el mejor de ambos mundos!

  6. 0

    Que yo sepa no se puede hacer. ¿Por qué no utilizar un XHR solicitud y rellenar un div en lugar de?

    • Que es lo que estamos haciendo actualmente, pero-como se mencionó anteriormente, uno de los requisitos es permitir la 3ª parte de los sitios a caer en el IFRAME como un widget en sus páginas. La implementación actual es también freeziing la interfaz de usuario, pero estoy seguro de que puedo trabajar en torno a eso.
    • Simplemente puede especificar un XHR API y permitir a otros a conectar a ella sin embargo se consideren apropiadas (también, que les permita, por supuesto, para deshabilitar las secuencias de comandos, pero que así sea).
    • Que sólo sería seguro si realmente confiar en el contenido de/widget — una ventaja de iframes es que efectivamente entorno limitado de contenido (cortesía de el origen mismo de la política)
    • También, algunos de los de la 3ª parte de los sitios se ejecute por las personas que están bastante no-técnico, por lo que nos estaban esperando para hacer una gota en la solución para ellos (además de nuestra API para los usuarios más sofisticados).

Dejar respuesta

Please enter your comment!
Please enter your name here