DOMException:阻止起源为“ http:// localhost”的框架访问跨域框架

时间:2018-08-13 08:05:08

标签: javascript asp.net-mvc gwt cors

我在不同的域上有两个Web应用程序。

  1. Web应用程序1
  2. Web App2

我的最终目标如下。

enter image description here

我在Asp.net MVC-5中找到了使用Google帐户API登录的教程。

https://tutorialslink.com/Articles/How-to-login-with-Google-account-API-in-Aspnet-MVC---5/18

通过使用相同的概念,我试图做下面的事情

  1. 从WebApp1打开WebApp2

  2. 从WebApp2上的Apply事件重定向到指定的URL包括URL +加密格式的必需数据。

  3. 从WebApp1不断检查更新的URL,并相应地在WebAp1上显示数据。

  4. 关闭WebApp2。

要实现上述步骤,我的源代码(WebApp1)如下所示。

var REDIRECT = "http://localhost/Home/Test";
var webApp2 = window.open("WebApp2Url", "CrossDomain", '', true);

var pollTimer = window.setInterval(function () {
try {
    if (webApp2.document.URL.indexOf(REDIRECT) != -1) {
    window.clearInterval(pollTimer);
    // logic to retrieve data from webApp2.document.URL
    webApp2.close();
    debugger;
    }
}
catch (e) {
}
}, 500);

我在代码行出现错误

[if (webApp2.document.URL.indexOf(REDIRECT) != -1) {]
  

DOMException:阻止了源为“ http://localhost”的框架   访问跨域框架。

请任何人可以指导我解决以上错误。

我尝试过在WebApp2中启用CORS,但是没有用。

任何欢迎设计WebApp2的想法。

1 个答案:

答案 0 :(得分:0)

我已经解决了同样的问题。

在我的WebApp2中完成处理后,我将控制重定向到我的WebApp1,即重定向到domain1。

参考:

How do I get around window.opener cross-domain security