在iFrame上的angular度,onLoad函数

我有这个iframe使用基本的JavaScript:

<iframe id="upload_iframe" name="upload_iframe" onLoad="uploadDone();"></iframe> 

触发方法uploadDone(); 当iframe的内容已被加载时。

我如何在Angular中做同样的事情? 我想在iframe加载的时候在控制器上调用一个函数,但是到目前为止我还没有看到ng-onload

3 Solutions collect form web for “在iFrame上的angular度,onLoad函数”

尝试在控制器中定义function为:

 window.uploadDone=function(){ /* have access to $scope here*/ } 

评论一个古老的问题。 对于有多个iframe的情况,我需要绑定“onload”事件。 我做了这个方法。

指示

 APP.directive('iframeOnload', [function(){ return { scope: { callBack: '&iframeOnload' }, link: function(scope, element, attrs){ element.on('load', function(){ return scope.callBack(); }) } }}]) 

调节器

 APP.controller('MyController', ['$scope', function($scope){ $scope.iframeLoadedCallBack = function(){ // do stuff } }]); 

DOM

 <div ng-controller="MyController"> <iframe iframe-onload="iframeLoadedCallBack()" src="..."></iframe> </div> 

对于任何结束在这里, ng-onload插件是这个问题的完美解决scheme。 它不会污染全局名称空间,并且不需要创build一次性指令就可以调用简单的作用域函数。

  • 花式框与ifShow函数中的iframes工作?
  • 从iFrame中获取元素
  • 克服“X-Frame-Options禁止显示”
  • 检测JavaScript中embedded的iFrame
  • 指定一个iframe的内容而不是一个页面的src
  • 为什么iframe被认为是危险的,存在安全风险?
  • 我如何使用JavaScript访问iframe元素?
  • HTML5:Iframe没有滚动?
  • 如果iframe src加载失败,则捕获错误。 错误: - “拒绝在框架中显示”http://www.google.co.in/“..”
  • IE 11第一方会话cookie在iframe中丢失
  • 有没有一种方法来唯一标识内容脚本运行在我的Chrome扩展的iframe?