FancyBox与iframe在Chrome中工作,但不能在IE或FireFox中工作

问题描述:

Fancybox模式窗口在Chrome中工作,但在IE或FireFox中不起作用。 要查看此请转至https://billiving-qa.azurewebsites.net/spa1/#/invoice 单击“模板样式”窗口。FancyBox与iframe在Chrome中工作,但不能在IE或FireFox中工作

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(); 
        }); 
       } 
      }); 
     } 
    } 
}]); 

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

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