Fancybox返回“无法加载请求的内容”。在Firefox中

时间:2016-12-17 17:43:36

标签: javascript jquery fancybox-2

我遇到了Fancybox(v2.1.5)的问题。我想在生成pdf export时打开“Wait,please”对话框:

function ShowLoading(token, message) {
        $.fancybox({
            'href': 'path/to/MVC/controller',
            'type': 'ajax',
            'hideOnOverlayClick': false,
            'showCloseButton': false,
            'modal': true,
            'enableEscapeButton': false,
            'closeClick': false,
            'beforeShow': function () {
                $(".popup-loading-message").text(message);
            },
            helpers:
                {
                    overlay: { closeClick: false } 
                }
        });
....
}

href指向MVC控制器方法,它只返回以下内容:

<div class="popup-loading">
    <div class="popup-loading-content">
        <div class="popup-loading-graphics"><i class="fa fa-refresh fa-spin fa-fw"></i></div>
        <div class="popup-loading-message"></div>
    </div>
</div>

一切都在Chrome或IE中完美运行,但在Firefox中没有,我得到“无法加载请求的内容”。错误信息。有任何想法吗? 感谢。

1 个答案:

答案 0 :(得分:0)

问题解决了,这就是诀窍:

function ShowLoading(token, message) {
   setTimeout(function() {
        $.fancybox({
            'href': 'path/to/MVC/controller',
            'type': 'ajax',
            'hideOnOverlayClick': false,
            'showCloseButton': false,
            'modal': true,
            'enableEscapeButton': false,
            'closeClick': false,
            'beforeShow': function () {
                $(".popup-loading-message").text(message);
            },
            helpers:
                {
                    overlay: { closeClick: false } 
                }
        });
    ....
    });
}

不要问为什么......; o)