我試圖顯示加載器,同時等待iframe加載根據鏈接點擊。我使用Semantic UI的加載器。到目前爲止,一旦鏈接被點擊,它可以做的是顯示加載器。但是,即使在加載iframe文檔之後,加載器也不會消失。在等待iframe加載時根據點擊鏈接顯示加載器,並在iframe加載後使用AngularJS隱藏加載器
下面是HTML代碼:
<div class="drive-link">
<div ng-if = "!READY.value"> <!-- to check if the link has been clicked -->
<div class="ui active centered inline loader"></div>
</div>
<iframe name="embedded-iframe" allowfullscreen="" frameborder="0" iframe-onload></iframe>
</div>
<div class="active content">
<a target="embedded-iframe" href="{{file.link}}" ng-click="show_file_name(file)"> {{file.name}} </a>
<div ng-repeat="next_file in files | limitTo:files.length:$parent.$index">
<a target="embedded-iframe" ng-if="$index > 0 && next_file.category_id == file.category_id" href="{{next_file.link}}" ng-click="show_file_name(next_file)">{{next_file.name}}</a>
</div>
</div>
AngularJS代碼:
app.controller('mainController', function($scope) {
$scope.READY = {value:true};
$scope.show_file_name = function(file){
$scope.fileName = file.name;
$scope.fileDesc=file.description;
$scope.READY = {value:false};
}
});
app.directive("iframeOnload", function() {
return function(scope) {
scope.READY.value = true;
console.log(scope.READY.value)
};
});
我有一個指令IFRAME,所謂的iframe的onload。我在想,如果點擊了錨點標記,它會以某種方式連接到iframe(因爲單擊錨點標記將顯示嵌入的文檔),並且會觸發iframe-onload,這會改變READY的值。但是,情況並非如此,並且iframe-onload只會在加載HTML頁面時觸發一次。
注: 我試圖從超時敬而遠之,因爲我不認爲硬編碼裝載機多久顯示是最好的一段路要走。
任何幫助將非常感激。謝謝!
裝載機將如何消失?在你的例子中,我希望加載器在圖像加載後也消失。 @Fahad Subzwari – limciana
@limciana使加載圖片的功能,然後標記$ scope.loader =假 像這樣 $ scope.getPicture = getProfilePicture()成功(函數(RES){$ = scope.loader假。 }) .error(function(err){scope = 0; console.log(err) }) –
這也適用於iframe? – limciana