нужна помощь!У меня есть веб-сайт WordPress в качестве родительского домена
https://www.example.com
И у меня есть приложение Angular / JavaScript на поддомене того же родителя
https://site.example.com
Я смог решить проблему с CORS, так что Wordpressродительская страница входа (wp-login.php) нормально загружается в iframe поддоменов, но проблема возникает, когда я пытаюсь перезагрузить window.location на основе индекса URL iframe.Вот мой код JavaScript iframe
(function () {
app
.controller('ModalGuestPopupController', [
'$scope', '$rootScope', 'socket', 'ngDialog', '$window',
function ($scope, $rootScope, socket, ngDialog, $window) {
$rootScope.$on('ngDialog.opened', function (e, $dialog) {
angular.element('.menu .item').tab();
angular.element("#login-iframe").get(0).onload = function() {
checkLogin($window);
};
});
function checkLogin($window) {
var iframe = angular.element('#login-iframe');
var currentUrl = iframe.get(0).contentWindow.location.href;
if(currentUrl.indexOf('wp-login.php') == -1) {
$window.location.reload();
} else {
setTimeout(checkLogin, 1000, $window);
}
}
}]);
})();
Вот сообщение об ошибке на консоли браузера (Chrome и Firefox)
iframe.controller.js:20
Uncaught DOMException: Blocked a frame with origin "https://subdomain.example.com" from accessing a cross-origin frame.
at checkLogin (https://subdomain.example.com/app/controllers/iframe.controller.js:20:35)
at HTMLIFrameElement.angular.element.get.onload (https://subdomain.example.com/app/controllers/iframe.controller.js:11:25)