05/21 更新
供参考: https ://github.com/dboots/crossWindowAjax
演示: http: //www.donboots.com/so/index.php和http://www.donboots.com/so/index2.php
这是使用 github repo/ 中的 /js/editor.js 文件的窗口之间相当基本的轮询解决方案
/index.php, /index2.php - 这些只是打开我们的弹出窗口。
/colors.php, /tools.php - 我们的弹出窗口包含 poll() 函数,也有使用 set() 函数的示例。这两个都是位于 /js/editor.js 中的自定义函数
/js/editor.js - 这是我们的弹出窗口和 PHP 文件 (/js/ajax/process.php) 之间的桥梁。
/_classes/Editor.php - 这是 /js/ajax/process.php 用来设置/获取变量的类。在此示例中,它设置/获取 $_SESSION 变量,但此类可以扩展为使用任何类型的文件存储、数据库等。
原始答案(不相关)
我想这可以通过折腾窗口变量范围来解决。
此方案是否符合您的需求?
窗口 1
//-- window 1 variable
var page_variable = "page_variable";
//-- handle for window A
var windowA = window.open('windowA.php', 'windowA', 'height=200,width=600');
//-- handle for windowB
var windowB = window.open('windowB.php', 'windowB', 'height=400,width=500');
窗口A.php
//-- local windowA variable
var windowA_variable = "windowA Variable";
//-- windowB variable accessed via opener (window 1)
var windowB_variable = opener.windowB.windowB_variable;
//-- window 1 variable
var page_variable = opener.page_variable;
窗口B.php
//-- local windowB variable
var windowB_variable = "windowB Variable";
//-- windowA variable accessed via opener (window 1)
var windowA_variable = opener.windowA.windowA_variable;
//-- window 1 variable
var page_variable = opener.page_variable;