Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁止AngularJS重新加载IFrame_Angularjs_Iframe - Fatal编程技术网

禁止AngularJS重新加载IFrame

禁止AngularJS重新加载IFrame,angularjs,iframe,Angularjs,Iframe,我将iframe集成到我的angularjs应用程序中,并且我还可以与iframe通信。我采用了以下方法: <iframe ng-if="reloadIFrame" class="embed-responsive-item" src="/context/iframe_integration.html" onload="angular.element(document.documentElement).injector().get('$rootScope').$broadc

我将iframe集成到我的angularjs应用程序中,并且我还可以与iframe通信。我采用了以下方法:

<iframe ng-if="reloadIFrame" class="embed-responsive-item" src="/context/iframe_integration.html" 
        onload="angular.element(document.documentElement).injector().get('$rootScope').$broadcast('iFrameLoadedEvent', event);">
</iframe>
问题如下:如果我在应用程序中导航到另一个位置,然后返回集成了iframe的站点,iframe将被重新加载,并且我对它的引用是旧的。我可以更新对iframe接口的引用,但问题是“是否可以一次性集成iframe而不再重新加载?”

我不想每次导航到另一个页面时都重新加载iframe的内容,如果再次访问该页面,则重新加载iframe的内容


谢谢…

您是否尝试将其放在
ng视图之外
?或者缓存应该可以做到这一点,您可以在angular中进行快速加载并缓存get请求,这将阻止angular发出请求并从缓存中拉出,但这取决于iframe指向的位置。(请参阅请求缓存和模板缓存)
// ...
var iFrameInterface = false;

$rootScope.$on('iFrameLoadedEvent', function(ev, event) {
        if(!iFrameInterface){
            iFrameInterface = angular.element(event.target)[0].contentWindow.iFrameInterface;
// ...