Tengo una página principal (en realidad, una JSP) con un iframe dentro como;
<iframe name="abc_frame" id="abc_frame" src="about:blank" frameborder="0" scrolling="no"></iframe>
Ahora hay varios enlaces en la página principal (renderizados dinámicamente a través de JSP) que pueden intentar establecer el src en alguna URL ...
Ahora mi pregunta es, usando jQuery (puede ser live ()), ¿puedo anular eso de tal manera que el atributo "src" para abc_frame siempre tenga algún valor particular (por ejemplo, "somefixedURL")
No puedo capturar el clic del enlace, ya que se crea de forma completamente dinámica a través de un código Java y, por lo tanto, estoy tratando de anular el iframe src.
fuente
si está utilizando jQuery 1.6 y superior, desea utilizar .prop () en lugar de
.attr():
$('#abc_frame').prop('src', url)
Consulte esta pregunta para obtener una explicación de las diferencias.
fuente
attr()
comportamiento. En general, no estaría de acuerdo con usarlo.prop()
aquí porquesrc
es un atributo, no una propiedad, como.prop()
explica la documentación de la API para usted vinculada.Al generar los enlaces, establezca el destino en la propiedad de nombre de iframes y probablemente no tendrá que lidiar con jquery en absoluto.
<a href="inventory.aspx" target="contentframe" title="Title Inventory"> <iframe id="iframe1" name="contentframe" ></iframe>
fuente
$(document).ready(function() { $('#abc_frame').attr('src',url); })
fuente
Establecer el atributo src no funcionó para mí. El iframe no mostró la URL.
Lo que funcionó para mí fue:
window.open(url, "nameof_iframe");
Espero que ayude a alguien.
fuente
<script type="text/javascript"> document.write( "<iframe id='myframe' src='http://www.example.com/" + window.location.search + "' height='100' width='100%' >" ) </script>
Este código toma los parámetros de URL (? A = 1 & b = 2) de la página que contiene el iframe y los adjunta a la URL base del iframe. Funciona para mis propósitos.
fuente
document.write
es equivalente a usareval()
- ¡está sujeto a inyección de script! ¡Úselo solo con extrema precaución!No puede configurar el src de FIX iframe o evitar que javascript / form submit cambie su ubicación. Sin embargo se puede poner script para onload de la página y el cambio de acción de cada enlace dinámico.
fuente
$(".excel").click(function () { var t = $(this).closest(".tblGrid").attr("id"); window.frames["Iframe" + t].document.location.href = pagename + "?tbl=" + t; });
esto es lo que uso, no se necesita jquery para esto. En este escenario particular, para cada tabla que tengo con un icono de exportación de Excel, esto obliga al iframe adjunto a esa tabla a cargar la misma página con una variable en la Cadena de consulta que busca la página, y si se encuentra la respuesta, escribe una secuencia con un excel mimetype e incluye los datos de esa tabla.
fuente