Я пытаюсь отправить пользовательское событие из источника iFrame к родителю.Я сослался на Html5 - Пост-сообщение кросс-браузерного Iframe - дочерний к родительскому? , но я все еще не могу передать событие своему родителю.
Ниже приведен код из исходного кода iFrame.куда я отправляю событие родителю:
window.parent.postMessage('onWidgetDisplayed', '*');
В моем родителе у меня есть файл контроллера angularJS, где я пытаюсь прослушать это событие:
angular.module('common.controllers.vaultV2', [])
.controller('VaultV2Controller', ['$scope', '$rootScope', '$sce', function($scope, $rootScope, $sce) {
$scope.iframeUrl = $sce.trustAsResourceUrl("https://some-url");
window.addEventListener('onWidgetDisplayed', onWidgetDisplayedEvent, false);
function onWidgetDisplayedEvent() {
alert("onWidgetDisplayed event received at parent");
}
}]);
И вот HTML-файл:
<div style="align: center">
<iframe id="vault" ng-src="{{iframeUrl}}" style="width: 100%; height: 300px; overflow: hidden" target="_parent"></iframe>
</div>
Я что-то не так делаю?Я не вижу ошибок в консоли браузера.Пожалуйста, помогите!