У меня была такая же проблема. Это происходило, когда атрибут «src» моего iFrame использовал https в качестве протокола. В этом случае parent.$.modal.close();
не будет работать.
Чтобы исправить это, я добавил обычную кнопку закрытия, о которой говорит Эрик на странице проекта SimpleModal.
Добавьте строку closeHTML в ваш модальный скрипт:
closeHTML:"<a href='#' class='modalCloseImg' alt='Close' title='Close'><a>",
Это добавит кнопку закрытия на вне модального режима, а не внутри iFrame.
Затем вам нужно будет стилизовать кнопку закрытия, используя этот CSS на вашей странице:
<style type="text/css">
#simplemodal-container a.modalCloseImg {
background:url('http://your.domain.name/your_image_folder/x.png') no-repeat; /* adjust url as required */
width:25px;
height:29px;
display:inline;
z-index:3200;
position:absolute;
top:-15px;
right:-18px;
cursor:pointer;
}
</style>
Вы можете найти изображение здесь:
SimpleModal Demo's x.png
Вот полный сценарий для вас:
<script type="text/javascript">
// Display an external page using an iframe
var src = "http://your.domain.name/your_source_file.html";
$.modal('<iframe src="' + src + '" height="450" width="830" style="border:0">', {
closeHTML:"<a href='#' class='modalCloseImg' alt='Close' title='Close'><a>", /* Add this <a> tag for the Close image to appear. */
containerCss:{
backgroundColor:"#fff",
borderColor:"#fff",
height:450,
padding:0,
width:830
},
overlayClose:false /* Stops user from clicking overlay to exit modal. */
});
</script>
Надеюсь, это поможет!
ура
Пол