繁体   English   中英

fancybox无法加载外部URL

[英]fancybox not loading external URL

我第一次尝试使用fancybox,我想从外部html文件加载内容。 但是,发生的是ajax调用最终将我的整个index.html文件加载到了fancybox窗口中,而不是我要加载的小得多的html表中。 这是我设置的html:

                <div class="card bg-light">
                            <img class="card-img img-fluid" src="/assets/O-Ride-Entry.jpg" alt="Card image">
                            <div class="card-body">
                                <h5 class="card-title text-center" >Cadet Programs</h5>
                                <p>blah blah blah
                                </p>
                            </div>
                            <div id="cadetPgmContainer"></div>
                            <div class="card-footer bg-transparent ">
                                <a href="#" class="btn btn-primary" id="cadetPgmsCard">Learn More</a>
                            </div>
                </div> <!-- card -->

这是用户单击“了解更多信息”时调用的javascript:

$('#cadetPgmsCard').click( function() {
    var href= '/static/cadetPgms.html';
    console.log('going to open fancybox with ', href);


    $.fancybox.open({
        width: 400,
        height: 400,
        autosize: true,
        href: href,
        type: 'ajax'
    });

    console.log('back from fancybox');

});

我什至将html文件简化为:

<p>this is from cadetPgms.html</p>

但是,这是实际发生的情况的屏幕截图: 在此处输入图片说明

它将整个主页重新加载到fancybox中。 我直接进入调试器,在fancybox.js中调用了ajax,并在选项中找到了正确的URL。 我还能尝试什么?

谢谢...

似乎您正在将整个网页加载到fancybox中,并且.html文件的响应者很可能包含多余的标签,包括<html><head>等。这是不正确的。

在这种情况下,您有两个选择:

1)使用filter选项过滤您的内容,以便仅显示内容

2)加载包含纯数据的文件,或者使用ajax加载时使用PHP之类的预处理器返回正确的内容

我最终没有使用js加载fancybox内容,而是将其设置在主html文件中,然后从那里调用fancybox。 然后我一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM