2015-11-06 37 views
0

我有以下角度控制器:

.controller('DialogController', function($scope, $mdDialog, $http) { 
    $scope.status = ' '; 
    $scope.showAdvanced = function(ev) { 
     $mdDialog.show({ 
      controller: DialogController, 
      template: '<md-dialog>' + 
       ' <md-dialog-content>' + 
       ' {{data}}' + 
       ' </md-dialog-content>' + 
       '</md-dialog>', 
      parent: angular.element(document.body), 
      targetEvent: ev, 
      clickOutsideToClose:true 
     }) 
     function DialogController($scope, $mdDialog) { 
      $http.get('http://www.example.com/page/test/test?id=10475').success(function(data) { 
       $scope.data = data; 
       $scope.closeDialog = function() { 
        var mainApp = angular.element(document.body).controller(); 
        $mdDialog.hide(); 
       } 
      }).error(function(data, status, headers, config) { 
       console.log("Error in retrieving data from server"); 
      }); 
     } 
    }; 
}); 

我想从我的对话框内的网址打开网页。我试图获取页面,但是获得了我的页面的完整HTML。如何从我的$mdDialog中的URL($http.get)打开页面,就好像它是iframe一样?

+1

你想去哪里使用'html'? – Rayon

+0

@RayonDabre我想从对话框中的url中获取我的页面。对不起,我没有解释清楚。我编辑了这个问题。 –

回答

1

添加一个数据绑定到模板 'dialog1.tmpl.html' 像 dialog1.tmpl.html刚刚设置获得标记

$http.get('http://www.example.com/page/test/test?id=10475').success(function(data) { 
    $scope.serverTemplate = data; 
    ... 
+0

非常感谢!但我想获取页面,而不是页面的HTML。对不起,我没有解释我的问题。 –

1

我刚过

... 
{{serverTemplate}} 
... 

和控制器做到了这一点,它的工作原理如下:

<md-dialog-content style="height:568px;width:320px;overflow:scroll;"> 
<div class="md-dialog-content" id="dialog-content"> 
<iframe src="http://www.google.com/" frameborder="0" allowfullscreen style="position: absolute;top: 0;left: 0;width: 100%;height: 90%;" align="center"></iframe> 
</div> 
</md-dialog-content> 

ifram Ë将确保你没有得到弹出

这里最重要的外卖内双或两个滚动条是永远不会关闭这样的iframe:<iframe /> 而是始终贴近这样的:

<iframe></iframe> 
相关问题