gpt4 book ai didi

javascript - 具有同级子域的跨域 JavaScript 代码

转载 作者:数据小太阳 更新时间:2023-10-29 06:08:43 26 4
gpt4 key购买 nike

我有两个网络应用程序设置:

david.example.com 和 john.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 应用程序,不能托管在同一子域中。

最佳答案

只要您在两个 DOM 上设置 document.domain,您就应该能够做到这一点。

document.domain = location.host.replace(/^.*?([^.]+\.[^.]+)$/g,'$1');

归功于 Martin Jespersen

关于javascript - 具有同级子域的跨域 JavaScript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5183684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com