[英]Fancy box not opening iFrame second time
第一篇文章 - 你好! 我使用fancybox( Fancybox主頁 )來顯示模態窗口。 我正試圖在這個div里面顯示一個帶有iFrame的隱藏div。 效果很好。 第二次單擊該鏈接時,它不會加載iFrame(不是404錯誤,只是iFrame中沒有內容)。 有人可以幫忙嗎?
重要的一點:
<script type="text/javascript">
function openIframeLink() {
$.fancybox({
'type' : 'inline',
'href' : '#data'
});
};
</script>
和HTML:
<div id="hiddenElement">
<iframe id="data" src="frames/frame4.php" width="100%" height="300"></iframe>
</div>
有同樣的問題。 基於Frode評估它正在剝離src屬性,我在我的fancybox調用上添加了'onClosed'回調,並且能夠將其添加回:
jQuery('#iframe_element').fancybox({
'onClosed': reloadIframe
});
function reloadIframe() {
jQuery('#iframe_element').attr('src','http://example.com');
}
看起來fancybox從DOM中提取iframe
元素並將其放入自己的容器中。 然后,當你關閉fancybox時,它會嘗試將它插回原來的位置 - 但設法松開src
屬性值。
fancybox家伙批准打開iframe的方法似乎如下。
<a id="mylink" class="iframe" href="frames/frame4.php">mylink</a>
<script type="text/javascript">
$("#mylink").fancybox();
</script>
繞過它的一種方法是克隆iframe元素,即
function openIframeLink() {
$.fancybox( {content: $('#data').clone()} );
}
顯然不理想..我喜歡聽到更熟悉的人。
Fancybox丟失了src屬性。 這是我從那時起一直使用的解決方法
function openIframeLink() {
/* Grab the src before fancybox loses it */
theSrc = $("#data").attr('src');
$.fancybox({
'type' : 'inline',
'href' : '#data',
onClosed : function()
{
$('#data').attr('src', theSrc);
}
});
};
這是我恢復src屬性的方法,而不事先知道元素。
可以幫助別人..
$(".fancybox.iframe").each(function(){
var target = $($(this).attr("href"));
var src = target.attr("src");
$(this).fancybox({
'type': "inline",
'content': target,
'onClosed': function(){
target.attr("src", src);
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.