Ho due siti Web A.com e B.com. Devo incorporare B.com in un iframe in A.com. Non posso apportare modifiche su B.comMostra lo spinner fino a quando l'iframe viene caricato con una risposta http post
B.com funziona solo con richieste di post con alcuni dati di post. Ho funzionato come segue
<!--This is the div inside which I will embedd the iframe-->
<div id="frameDiv"></div>
<script type="text/javascript">
//Create iframe
var $ifr = $('<iframe name="myFrame" id="myFrame"></iframe>');
//create form
var $form = $('<form action="B.com" method="post" target="myFrame"></form>');
//Append hidden field to form to pass postData
$form.append($('<input type="hidden" name="dataName"><input>').val('data'));
//Append form to the iframe and then append iframe to the div
$('#frameDiv').append($ifr.append($form));
$form.submit();
</script>
Ora, B.com carica perfettamente all'interno dell'iframe con risposta alla richiesta di post. Ma B.com è lento. Voglio mostrare uno spinner all'interno del #frameDiv fino a quando i carichi iframe. Come posso fare questo?
Questo è quello che ho provato:
$('#frameDiv').append($spinnerImage)
//Does not work, fires immediately
$ifr.load(function(){
//Hide the spinner image
});
//Does not work, fires immediately
$ifr.ready(function(){
//Hide the spinner image
});
Se B.Com era un semplice get ed è stato impostato come attributo src del iframe, metodo di carico jQuery fa il trucco. Ma in questo caso no.
Ogni aiuto è apprezzato :)
Grazie @charlie, questo funziona. Ho trovato anche un altro modo e lo ho postato come un'altra risposta qui sotto. Fatemi sapere cosa ne pensate di questo approccio – labroo
ha fatto questo lavoro sulla submittal? mai provato cross domain – charlietfl
Sì, funziona, cross domain anche :) – labroo