Javascript 如何在不同http域的父窗口和子窗口之间通信数据?
我一直在开发某种“遥控器”窗口,其中子窗口从父窗口加载销售配置,在更改销售配置并按下“应用”按钮后,销售配置将发送回父窗口 在谷歌搜索之后,我发现只有在同一个http://域下打开两个窗口时,父窗口和子窗口之间的数据交换才可用。(我相信这是因为每个服务器都有唯一的SSL。) 然后,我的问题是:当两个窗口具有不同的域时,是否可以在父窗口和子窗口之间交换数据 更多关于我陷入困境的细节:Javascript 如何在不同http域的父窗口和子窗口之间通信数据?,javascript,window.open,Javascript,Window.open,我一直在开发某种“遥控器”窗口,其中子窗口从父窗口加载销售配置,在更改销售配置并按下“应用”按钮后,销售配置将发送回父窗口 在谷歌搜索之后,我发现只有在同一个http://域下打开两个窗口时,父窗口和子窗口之间的数据交换才可用。(我相信这是因为每个服务器都有唯一的SSL。) 然后,我的问题是:当两个窗口具有不同的域时,是否可以在父窗口和子窗口之间交换数据 更多关于我陷入困境的细节: 我正试图制作一个儿童窗口,让我在一个名为“Mr.mine”(mrmine.com)的小型网络游戏中选择要出售的金
- 我正试图制作一个儿童窗口,让我在一个名为“Mr.mine”(mrmine.com)的小型网络游戏中选择要出售的金属矿石
- 有了chrome javascript控制台,我可以控制游戏,在那里我可以创建这样的循环来代替我的销售
- 最初,如果要选择要出售的矿石,我必须从java控制台手动更改一个名为“sellorder”的数组。事实证明,这非常令人困惑和沮丧,因此我想创建一个子窗口,在该窗口中,我可以使用更简单、更容易理解的布局来配置我的销售决策
- 我成功地在我的github存储库中创建了这样一个子窗口,并且我已经确认父窗口和子窗口之间成功地进行了数据交换,这两个窗口都位于同一github存储库中李>
var sellorder=[....] // has some value..
// some codes in between...
function sell(){
var url="https://rawgithub.com/kwagjj/mrmine-macro/master/initializing/sell_window_ver1.0.html"
var w=window.open(url,"sell_window","width=300,height=450");
}
子代码:
var loadarray;
window.onload=function(){
loadarray=window.opener.sellorder;}
// ... after some operations..
window.opener.sellorder=loadarray;
- 然后我尝试在mr.mine中实现这个子窗口弹出代码李>
- 结果是失败了。我认为这是因为在这种情况下,父窗口和子窗口不共享相同的http://域
PS:这是理论上的,不是在你喜欢的游戏上作弊的邀请。你有没有尝试过使用jQuery或vanilla JS
data
方法在家长和孩子之间交换数据?@DevlshOne我没有听说过jQuery的.data()函数,但我现在正在研究它。。。那么这个函数能绕过“两个http://域”问题吗?是的,它能。它能够在元素之间交换数据。本质上,您应该能够在父级中设置.data()
,然后在任何子级中检索它,而不会出现任何问题。@DevlshOne谢谢!一旦我掌握了jQuery,我会尝试一下!要发回信息,您可以想象您的setInterval函数定期将信息保存到另一个文件中,并且在父窗口中有一个“更新”按钮来获取信息。。。我想我得先研究一下jQuery.data(),不是吗?我不太了解数据函数,但我不确定它是否适合您的需要。