回答
我能想到的唯一方法就是使用XHR。每个窗口/选项卡都与服务器进行通信,而服务器又与其他窗口进行通信,这几乎与gmail聊天工作方式相同。除了你在同一个客户端上有2个窗口,而不是2个客户端上的1个窗口。
我找到了一种方法,我可以在每个页面上使用LocalConnection制作两个Flash动画,以使用externalinterface在另一个页面上调用JavaScript。
把这个在AS3 SWF,这是接收器:
import flash.external.ExternalInterface;
import flash.net.LocalConnection;
var mLocalConnection:LocalConnection;
mLocalConnection = new LocalConnection();
mLocalConnection.connect("xivioview");
mLocalConnection.client=this;
function recieveText(textRecieved):void {
ExternalInterface.call(textRecieved);
};
和发送器SWF:
import flash.external.ExternalInterface;
import flash.net.LocalConnection;
function sendtoview(con,val):String {
//create local connection for sending text
var sending_lc:LocalConnection;
sending_lc = new LocalConnection();
sending_lc.send("xivioview", "recieveText", val);
return "kk"
}
ExternalInterface.addCallback("sendtoview", sendtoview);
这是设置为单向的,并且使用它的JavaScript :
document.getElementById("youembeddedobject").sendtoview("xivioview","alert('Hai!')")
这将在接收器的选项卡中执行该JavaScript代码,但它不会执行,直到您回到该标签(我已经问了一个问题为什么,并且没有任何反应)
有关您如何做到这一点的任何链接?是否支持跨浏览器? – 2011-03-01 01:34:22
我只想有一个JavaScript在页面加载执行,将连续轮询(window.setInterval)的sessionStore的一个标记,有人给我发一个消息,然后宣读了该消息sessionStore,然后做任何需要的。
即使在HTML5之前,如果文档具有相同的来源,也支持在不同的JavaScript执行上下文之间进行通信。如果不是,或者您没有提及其他Window
对象,则可以使用随HTML5引入的新的postMessage API。我在这stackoverflow answer中详细阐述了两种方法。
- 1. 窗口之间的jQuery/JavaScript通信?
- 2. 在JavaScript和Servlet之间进行通信
- 3. 在iframe和父窗口之间进行通信?
- 4. 在两个窗口之间进行通信Qt5
- 5. 如何在两个浏览器窗口之间进行通信?
- 6. 如何在2个qml窗口之间进行通信
- 7. 如何在两个窗口之间进行通信?
- 8. 使用WCF在两个Windows窗体之间进行通信?
- 9. 如何使用Qt C++在QDialog窗口和QMainWindow之间进行通信
- 10. 如何在MATLAB和Visual C++窗口窗体之间进行通信?
- 11. 进程间通信选项
- 12. 不同的选项卡之间进行导航,使用iframe的
- 13. 按Visual Studio中的文件类型进行排序在选项卡窗口之间进行快速切换
- 14. PyQT4 - 两个窗口之间的通信
- 15. 通过接口在Flex模块之间进行通信
- 16. 使用信用卡进行窗口天蓝色验证
- 17. 通过事件C#窗口应用程序在MDI窗体和SDI窗体之间进行通信
- 18. 窗口上的进程间通信
- 19. 使用信号在类之间进行通信
- 20. 使用命名管道在窗口上的unicode进程和非unicode进程之间进行通信
- 21. 如何使用FIFO在python子进程之间进行通信
- 22. Mozilla插件开发 - 在具有不同域的窗口之间进行通信
- 23. 如何在浏览器标签页/窗口之间进行通信?
- 24. 在同一个域上的不同窗口之间进行通信
- 25. 如何在2个浏览器标签页/窗口之间进行通信?
- 26. 如何在PyQt中的两个窗口之间进行通信或切换?
- 27. UIWebView Javascript窗口到窗口通信
- 28. Javascript窗口选项
- 29. 在Java类之间进行通信
- 30. 如何在ViewModels之间进行通信?
+1有趣。我认为Chrome的新“可安装应用程序”支持这一点。 – JCOC611 2011-02-13 23:20:20
有关该主题的一些消息: http://stackoverflow.com/questions/19125823/how-is-it-possible-to-share-single-js-resource-between-browser-tabs/19165781#19165781 BNC连接器仍然是一种选择,一个新选项是使用localStorage的intercom.js,另一个选项是使用共享webworkers。 – inf3rno 2013-10-03 23:05:14