抓住fancybox错误并尝试其他类型

时间:2012-07-04 12:11:02

标签: javascript jquery fancybox fancybox-2

我想捕获fancybox错误(无法加载请求的内容。 请稍后再试。)并尝试另一种fancybox类型。

喜欢这个。第一次尝试ajax,如果返回错误,请尝试iframe。

    jQuery('.lightwindow').click(function() {
        var element = this;
        jQuery(element).fancybox({
            error: function() {

                // If this didn't work, try iframe
                jQuery(element).fancybox({
                    type: 'iframe',
                    autoSize: true
                });
            }
        });
        return false;
    });

但这不起作用。它只会显示第一个fancybox的错误。

1 个答案:

答案 0 :(得分:2)

选项error不存在,您可以将type设置为'ajax'并编辑此ajax : { error : function(){ ...change fancybox and load... } }之类的ajax设置,然后您拥有:

jQuery(element).fancybox({
    type : 'ajax',
    ajax : {
        error: function() {
            // If this didn't work, try iframe
            jQuery(element).fancybox({
                type: 'iframe',
                autoSize: true
            });
        }
    }
 });

但最好在请求之前检查是否使用ajax或iframe