我想在iframe完全滚动后启用主页面上的按钮。这确认用户已经看到了iframe的完整内容。
因此,我试图将一个滚动事件附加到iframe,一旦scrollTop达到iframe的高度,我想将一些变量设置为true $scope.scrolled = true;
,这将启用“我同意”和“我拒绝”。以下是我的指示:
app.directive("scroll", function ($window) {
var linkFn = function(scope, element, attrs) {
element.find('iframe').bind('load', function (event) {
event.target.contentWindow.scrollTo(0,400);
alert(event.target);
if(event.target.contentWindow.scrollTop >= 550){
$scope.scrolled = true;
}
});
};
return {
restrict: 'E',
scope: true,
template: '<iframe class="frame" height="550" width="100%" frameborder="0" border="0" marginwidth="0" marginheight="0" src="{{tncURL}}"></iframe><div class="panel-footer button-bar"><button id="accept" ng-click="acceptTnc(user)" class="btn btn-success inline" ng-disabled="!{{scrolled}}">I Agree</button><button id="decline" ng-click="declineTnc()" class="btn btn-warning inline" ng-disabled="!{{scrolled}}">I Decline</button></div>'
};
});
不幸的是我无法将滚动事件绑定到iframe,有什么方法可以解决这个问题吗?
plunker链接:http://plnkr.co/edit/IJBWRNwPp6V7Xi6A1i0H?p=preview