我一直在研究某种“远程控制器”窗口,其中子窗口加载来自父级的销售配置,在更改销售配置并按下“应用”按钮后,销售配置将被发送回父窗口。
在谷歌搜索之后,我发现只有在同一个http://域下打开两个窗口时,父和子之间的数据交换才可用。(我相信这是因为每个服务器都有唯一的SSL。)
然后,这是我的问题:当两个窗口有不同的域时,无论如何我可以在父窗口和子窗口之间交换数据吗?
关于我坚持的情况的更多细节:
父代码:
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;
所以这是我的情况。如果没有直接的方法在两个窗口之间交换数据,我想听到任何其他方法来绕过这个问题。
答案 0 :(得分:0)
“使用chrome javascript控制台”(原文如此)您还可以在页面中添加一些javascript(或者使用像greasemonkey这样的扩展来进行自定义脚本编写)。
在游戏中添加一个带有setInterval函数的脚本,该函数每隔x秒就会与服务器一起调用。并获取配置的json编码数据
另一方面,在验证您的配置时,它将使用Ajax在您的服务器上存储信息(即在文件中)
总结一下:
在父窗口中,当您修改配置时,会进行Ajax调用以将编码的新配置json保存在服务器上的文件中
在带控制台的子窗口(如果没有重新加载)或使用用户脚本扩展名(如GreaseMonkey)中,添加setInterval javascript以从服务器上的文件加载数组。
PS:这是理论上的,而不是邀请你在喜欢的游戏上作弊。