FancyBox,iframe在Chrome中工作,但在IE或FireFox中无效

时间:2015-10-20 06:45:13

标签: javascript jquery fancybox

Fancybox模式窗口适用于Chrome,但在IE或FireFox中无效。 要查看此内容,请转到https://billiving-qa.azurewebsites.net/spa1/#/invoice 点击“模板样式”'窗口。

HTML:

<a fancybox="" href="#/templates?mp=b" class="btn fb-templates fancybox.iframe"><i class="fa fa-font"></i> Template Styles</a> 

指令

myApp.directive('fancybox', ['$compile', '$timeout', function ($compile, $timeout) {
    return {
        link: function ($scope, element, attrs) {
            element.fancybox({
                hideOnOverlayClick: false,
                hideOnContentClick: false,
                enableEscapeButton: false,
                showNavArrows: false,
                scrolling: false,
                iframe: {'scrolling': 'no'},
                onComplete: function () {
                    $timeout(function () {
                        $compile($("#fancybox-content"))($scope);
                        $scope.$apply();
                        $.fancybox.resize();
                    });
                }
            });
        }
    }
}]);

1 个答案:

答案 0 :(得分:1)

显然,这只发生在单页应用程序中。我最后的解决方法是添加另一个html页面并在调用pop窗口时引用它:

<a fancybox="" href="popup.html#/templates?mp=b" class="btn fb-templates fancybox.iframe"><i class="fa fa-font"></i> Template Styles</a>