我有两个 Web 应用程序设置:
大卫.example.com 和约翰.example.com
大卫向约翰打开了一个新窗口:
window.open('john.example.com');
John 现在想在 David 上设置一个输入元素:
$("#input", window.opener.document).val("Hello David.");
我的问题是,由于跨域脚本安全性,这在大多数现代浏览器上都不起作用。我还尝试document.domain
在 David 和 John 上设置不同的域组合,但没有成功。
唯一有效的情况是,如果 John 处于开启状态example.com
并且两者都document.domain
设置为example.com
。但是,example.com
它是我们的主要网站,不能作为解决方案使用。
那么有没有一种方法可以在使解决方案在所有具有安全意识的现代浏览器中运行的同时完成上述示例?
笔记
- 我控制
example.com
及其所有子域。 - David 和 John 是独立的 Web 应用程序,不能托管在同一个子域上。