web-dev-qa-db-fra.com

Déclencher un clic de bouton à l'intérieur d'un iframe

Voici le code iframe:

<div id="OutDiv" class="outerdiv">
    <iframe src="http://beta.sportsdirect.bg/checkout/onepage/" id="InnerIframe" class="FrameCSS" scrolling="no"></iframe>
</div>

Voici le code HTMl du bouton que l'iframe ci-dessus appelle:

<button type="button"  id="SuperWebF1" title="Continue" class="button">Continue</button>

Voici la fonction jQuery que j'utilise pour déclencher le clic du bouton lorsque la page est chargée:

 $('#SuperWebF1').trigger( "click" );

Mais cela ne fonctionne comme ça que lorsque je place le code jQuery à l'intérieur de la source du bouton et que l'iframe appelle le bouton avec le script.

Je veux créer un événement qui clique sur le bouton depuis l'extérieur de l'iframe. C'est possible ?

Merci d'avance!

14
Venelin Vasilev

REMARQUE: .contents () ne fonctionne pas si le src d'iframe pointe vers la page du domaine. Plus: problème iframe interdomaine et obtenir le contenu DOM de l'iframe interdomaine

//execute code after DOM is ready
$(function() {

  //find iframe
  let iframe = $('#main_iframe');
  
  //find button inside iframe
  let button = iframe.contents().find('#main_button');
  
  //trigger button click
  button.trigger("click");
  
});
<!--Add jQuery library-->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Si vous devez manipuler une autre page dans iframe, recherchez les paramètres officiels de l'API ou GET. Exemple: Youtube Embed Video , Google Maps Embed Api

21
Amit Garg