Fancybox.close() sur un iframe
je suis en utilisant la dernière fancybox (2.0.4) et j'ai créé une fancybox pour un iframe. le contenu s'affiche correctement. j'ai ajouter un bouton "fermer" de mon code html qui est afficher à l'intérieur de l'iframe. je souhaite que le bouton de fermeture auront le même résultat en cliquant sur le "x" dans le coin supérieur droit de la fancybox. je suis familier avec FancyBox iframe retourne parent.$ comme indéfini (à l'aide de WordPress), et mon parent
est un objet DOM avec rien dedans. aussi essayé
window.parent.jQuery.fancybox.close();
window.parent.jQuery.fn.fancybox.close();
parent.jQuery.fn.fancybox.close();
parent.jQuery.fancybox.close();
toute aide?
Mise à JOUR:
un.js (liée à la a.html)
$(document).ready(function() {
$(".fancybox").fancybox({
maxWidth : 800,
maxHeight : 600,
fitToView : false,
width : '70%',
height : '70%',
autoSize : false,
closeClick : false,
type : 'iframe',
openEffect : 'none',
closeEffect : 'none',
afterClose : function() {
window.location.reload();
}
});
});
a.html
<a class="fancybox fancybox.iframe" id="newLink" href="new.html">link</a>
comment puis-je avoir un bouton dans new.html
qui ferme la fancybox fenêtre iframe
Mise à JOUR: fichiers html
a.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<link rel="stylesheet" href="fancybox/jquery.fancybox.css?v=2.0.4" type="text/css" media="screen" />
<script type="text/javascript" src="fancybox/jquery.fancybox.pack.js?v=2.0.4"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".fancybox").fancybox({
maxWidth : 800,
maxHeight : 600,
fitToView : false,
width : '70%',
height : '70%',
autoSize : false,
closeClick : false,
type : 'iframe',
openEffect : 'none',
closeEffect : 'none',
afterClose : function() {
window.location.reload();
}
});
});
</script>
</head>
<body>
<a class="fancybox fancybox.iframe" id="newLink" href="b.html">link</a>
</body>
</html>
b.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<link rel="stylesheet" href="fancybox/jquery.fancybox.css?v=2.0.4" type="text/css" media="screen" />
<script type="text/javascript" src="fancybox/jquery.fancybox.pack.js?v=2.0.4"></script>
</head>
<body>
<input type="submit" value="Cancel" id="cancelBtn" onclick="parent.jQuery.fancybox.close()"/>
</body>
</html>
OriginalL'auteur MrRoth | 2012-02-02
Vous devez vous connecter pour publier un commentaire.
Votre manuel bouton de fermeture devrait ressembler à:
Mise à JOUR: vous devez utiliser la
onsubmit
sur le<form>
tag, et non sur labutton
image dans votre "new.html" mis quelque chose commeMise à JOUR #2: voir de travail de la page de démonstration
Mise à JOUR #3: j'ai décidé d'enlever tous mes autres commentaires à cette réponse, puisque la discussion est devenue trop longtemps et nous a pris nulle part. Je laisse le code et un lien vers un travail de démonstration, si cela peut aider quelqu'un d'autre si.
<body><form onsubmit="javascript:parent.jQuery.fancybox.close();"><input type="submit" value="Cancel"/></form></body>
et c'est ce que google chrome developer tools imprimeUncaught TypeError: Cannot read property 'fancybox' of undefined
tout d'abord, merci beaucoup. deuxièmement, si ce n'est pas beaucoup demander, pourriez-vous s'il vous plaît zip et de le mettre un lien pour cela. depuis que j'ai téléchargé vos fichiers, modifié le chemin d'accès à mon fancybox répertoire et il ne fonctionne pas. (l'iframe s'ouvre, mais la fermeture ne fonctionne pas)
voici un lien vers mon répertoire, qui comprend vos fichiers et la fancybox répertoire mediafire.com/?0u04zdrz6v2tdi8 - comment se fait-il n'est pas de travail?
je n'ai pas d'hébergement que je peux utiliser.. du moins pas celui qui surves http
toute chance vous pourriez mettre votre démo dans un zip?
OriginalL'auteur JFK
!!!Pas de Soutien onClose!!!
OriginalL'auteur Aommy Indy
Essayer dans votre Javascript:
$.fancybox.close();
Veuillez examiner la question initiale à nouveau! La question n'est pas de fournir trop de Javascript. Il n'y a pas de détails pour me fournir...
OriginalL'auteur Nick Constantine