78 votes

jQuery Force définit l'attribut src pour iframe

J'ai une page principale (en fait une JSP) avec un iframe à l'intérieur comme;

<iframe name="abc_frame" id="abc_frame" src="about:blank" frameborder="0" scrolling="no"></iframe>

Maintenant, il y a plusieurs liens sur la page principale (rendu dynamiquement via JSP) qui peut essayer de définir la src à certaines URL...

Maintenant, ma question est,à l'aide de jQuery (peut être direct()), puis-je remplacer que d'une façon telle que l'attribut "src" pour abc_frame serait toujours une valeur particulière (par exemple, "somefixedURL")

Je ne peut pas capturer le lien en cliquant, comme il est complètement créé dynamiquement par le biais de certains de code Java et donc je suis en train de remplacer l'iframe src ?

159voto

PiTheNumber Points 8264

Utiliser attr

 $('#abc_frame').attr('src', url)
 

De cette façon, vous pouvez obtenir et définir chaque attribut de balise HTML. Notez qu'il y a aussi .prop() . Voir .prop () vs .attr () pour les différences. En bref, je dirais que: .attr() est utilisé pour les attributs car ils sont écrits dans le code source HTML et .prop() correspond à tout ce que JavaScript est lié à l'élément DOM.

19voto

kalyfe Points 585

si vous utilisez jQuery 1.6 et plus, vous voulez utiliser .prop () plutôt que .attr():

 $('#abc_frame').prop('src', url)
 

Voir cette question pour une explication des différences.

8voto

Brian Rizo Points 146

Lors de la génération des liens, définissez la cible sur la propriété de nom iframes et vous n'aurez probablement pas à traiter avec jquery.

 <a href="inventory.aspx" target="contentframe"  title="Title Inventory">
<iframe id="iframe1" name="contentframe"  ></iframe>
 

8voto

Jayendra Points 27472
$(document).ready(function() {
    $('#abc_frame').attr('src',url);
})

1voto

Jan Pfeifer Points 1238

Vous ne pouvez pas définir la src de FIX iframe ni empêcher javascript / form submit de changer son emplacement. Cependant, vous pouvez mettre un script pour charger la page et modifier l'action de chaque lien dynamique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X