jquery
  • iframe
  • 2009-03-31 10 views 14 likes 
    14

    he utilizado un iframe que se parece a esto:cambio de fuente de marco flotante en Internet Explorer usando javascript

    <iframe style='width: 330px; height: 278px' scrolling='no' name="iframeId" class="advPlayer" id="iframeId" frameborder="0" src='../../player/iabpreview.php?adid=<?php echo $selectedAdIdx ?>&amp;autoPlay=true'></iframe> 
    

    Cada vez que hago clic en un <div>, tengo que cambiar la fuente del marco flotante. Estoy usando el siguiente código:

    if ($j.browser.msie) {    
        frames['iframeId'].window.location="../player/iabpreview.php?adid="+adId+"&autoPlay=true"; 
    }else { 
        $j(".advPlayer").eq(0).attr("src", "../player/iabpreview.php?adid="+adId+"&autoPlay=true");  
    } 
    

    Esto funciona con Firefox, pero no con Internet Explorer.

    ¿Qué código funcionaría para Internet Explorer también?

    Respuesta

    13
    document.getElementById("iframeId").src = "Your URL here." 
    
    +0

    i trataron this..not trabajar en es decir –

    +2

    Huh? ¿Estás 100% seguro? Esto debería funcionar en cualquier broswer. –

    +0

    Para mí no funciona en Safari. En cambio, cambia la URL de la página en sí. De hecho, todas las soluciones publicadas aquí parecen hacer eso. Es un gran misterio. – mcv

    1

    La colección de marcos devuelve objetos de ventana (o el equivalente de). Desea orientar el objeto del documento; trate de hacer:.

    window.frames [ 'iframeId'] = document.location.href ....

    Esto funciona en IE, FF, Safari, y así sucesivamente, por lo que no hay necesidad de la desordenada detección de navegador también.

    nb. IIRC la colección de marcos hace referencia al nombre en IE, id en otros navegadores, por lo que necesita el nombre y el atributo de identificación en el ... ¡pero ya lo tiene, así que no se preocupe!

    0

    Simplemente use el siguiente código.

    var iframe = document.getElementById('IFRAME ID'); // just for clarity 
    iframe .src = 'URL here'; 
    

    Debería funcionar con todos los navegadores.

    +0

    getElementById para el iframe no funcionó en absoluto. Tuve que referirme a él por "ventana.