El uso de jQuery para Insertar HTML en un iFrame Cuerpo de la Etiqueta

Estoy usando un hospedado de la CMS que hace que un iFrame dentro de otro iFrames. Estos iFrames se cargan desde el mismo dominio pero ya que este es un hospedado de la CMS no tengo acceso a estos iFrames directamente. Es posible, usando jQuery, para insertar contenido HTML en el body etiqueta del iFrame con el id de re_contentIframe?

Aquí es cómo el código hace en mi sitio:

<div class="editor">
  <iframe id="editorf"  frameborder="0" src="/ForumEditor.aspx?ForumID=2221&TopicID=-1&NoTemplate=False&Internal=False" style="display: inline;">
    <html>
      <head></head>
        <body>
          <!-- CODE -->
            <iframe id="re_contentIframe" frameborder="0" src="javascript:'<html></html>';">
             <html>
              <head></head>
               <body> <!-- THIS IS WHAT I WANT TO TARGET --> </body>
             </html>
            </iframe>
          <!-- CODE -->
      </body>
    </html>
  </iframe>
</div>

He intentado utilizar el siguiente código, pero no pasa nada con este código (incluyendo sin errores):

$(function() {
   $( "#test" ).click(function() {
       $("#re_contentIframe").contents().find("body").html("<p>new HTML content goes here</p>");
   });
});
  • Posibles duplicados de stackoverflow.com/questions/5924936/… ?
  • Yo no lo creo. Que es donde he encontrado el código que he probado. Como se dijo anteriormente, no es de trabajo y no estoy segura de por qué.
InformationsquelleAutor L84 | 2013-10-15

2 Kommentare

  1. 4

    El problema es que usted está tratando de acceder a un marco anidado.

    La #re_contentIframe marco está anidada dentro de #editorf, que posteriormente es anidado dentro de su documento.

    Tratar:

    $('#re_contentIframe').contents().find('body').find('#editorf').contents()

    Violín: http://jsfiddle.net/8VP4y/3/

  2. 0

    no lo he comprobado ,podría ayudar :

    var frameObject = document.getElementById('editorf');
    var frameContent = frameObject.contentDocument ||
    frameObject.contentWindow.document;
    var insideIframe = frameContent.getElementById('re_contentIframe');
    var insideIframeContent = insideIframeObject.contentDocument ||
    insideIframeObject.contentWindow.document;
    var $body = $('body',insideIframeContent);
    $body.html('<div>contentupdated</div>');

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea