jQuery的的fancybox,iframe或ajax的,用URL负载(jquery fancyb

2019-07-21 04:31发布

随着的fancybox(V2),我怎么可以创建一个独特的网址,一旦负载,显示与IFRAME内容的fancybox。 我把它与联内容(例如:www.mysite.com/index.html#idgoeshere)伟大的工作,但不知道是什么网址或JS应以加载的fancybox遏制,并在其中,具体的iframe或ajax.txt页面。

我想实现,是要像一个链接:

www.mysite.com/index.html#iframe.html

加载的索引页,以打开的fancybox窗口,并加载到的fancybox窗口Iframe.html的页面(或者它可以是通过AJAX装入了.txt文件)。

HTML

<a class="fancybox fancybox.iframe" href="iframe.html">Iframe</a>

的fancybox

<script>
$(document).ready(function($) { 
    $.fancybox({
    content: $(window.location.hash).html()
});
    $('.fancybox').fancybox();
});
</script>

感谢您的任何帮助或指导。

凯尔

更新

感谢大家的帮助! 以下是最终为我工作的伟大。 我救了我们我的内容转换成单独的HTML文件,然后叫他们fancybox.iframe

JS:

<script>
$(document).ready(function () {
    $('.fancybox').fancybox({
     'scrolling'   : 'no'   
    });
    if (window.location.hash !== "") {
        $(window.location.hash).click();
    }
});
</script>

Answer 1:

看看这些示例中的fancybox网站的的fancybox行动完全基于链接的href。 所以,如果你加载的页面,然后更新页面上的链接的href指向iframe.html调用之前.fancybox就可以了,那么它应该达到预期效果。 警告:未经测试的代码我的头跟随顶...

$(document).ready(function(){ 
    $('#target').attr('href', window.location.hash.substring(1)).fancybox();
});

需要的子呼吁删除#从散列字符串返回从window.location.hash

希望这可以帮助



Answer 2:

使用#标签是一个坏主意,因为像谷歌和Facebook等网站往往忽略它们。

相反,在的fancybox的后负荷功能使用window.history.replacestate。

例如:

afterLoad:function(){
    window.history.replaceState({},"Fancybox","/url-to-set");
}

约replaceState奇怪的是,前两个参数并不重要(据我所知)。 唯一重要的事情是最后一个参数“/ URL到组”。 你要将此作为唯一的网址,你想有作为您的网址。



文章来源: jquery fancybox, iframe or ajax, load with url