我不是在寻找一个完整的实现,我更关心他们是如何做到的。我知道他们使用GWT,但我想要更低层次的答案。天真地,我会开始思考,当你点击弹出链接时,他们只需打开一个新窗口并将内容复制到其中。有很多理由不能很好地解决问题,所以我想知道是否有人知道他们是如何做到这一点或者如何做到的。如何在GMail中实现聊天窗口的弹出功能?
8
A
回答
12
我最近需要准确地解决在应用这个问题。最后我用这个伟大的小jQuery插件做的伎俩:WindowMsg(见文末链接)虽然我敢肯定还有其他的方法来完成相同的任务,即插件不正是如此工作:
- 首先你使用window.open
- 您保存对window.open返回的窗口对象的引用
- 您在子窗口中调用库方法,该方法为库添加隐藏窗体在
- 存储数据调用在使用window.document.forms填充的孩子赢表单字段的父窗口库方法陶氏(库抽象所有的这些东西,所以你甚至不知道有参与,除非你在查看源形式)window.document.forms的工作原理相同的所有主要浏览器,因此这个抽象的X浏览器兼容
- 最后,子窗口是指回到它的父窗口中使用window.opener,并且可以通过并行隐藏表单上家长
- 库实现了一个方便的助手,需要一个回调函数,在每个方运行,使传送回回调链容易处理
根据我的经验与图书馆合作,如果他们已经包含来自JSON.org的JSON 2 lib,它也会相当不错。开箱即用,WindowMsg只允许你在窗口之间发送字符串消息,但是通过一些非常简单的JSON 2 lib的使用,我能够破解它以允许在窗口之间发送完整的JSON对象。我敢打赌,更多成熟的库(比如谷歌使用的那种)包括那种序列化和反序列化。
我在这里放这个链接是因为某些原因,堆栈溢出格式化程序将它变成一个锚链接没有结束标签,我不希望我的整个帖子成为一个巨大的超链接!
WindowMsg: http://www.sfpeter.com/2008/03/13/communication-between-browser-windows-with-jquery-my-new-plugin/
1
我想说的最简单的方法是将有存储在服务器上的数据(你可能做的话),那么就必须在新窗口中检索数据。
当然,这不会像用户输入的文本框内容那样持久,所以根据窗口的用途,这可能是不切实际的......但最好开始尝试最简单的选项!
相关问题
- 1. 如何实现Facebook聊天窗口?
- 2. 在android中实现聊天功能
- 3. 在SharePoint中实现聊天功能
- 4. 哪些JavaScript库会处理弹出窗口(即Meebo或Gmail聊天窗口)?
- 5. 如何在弹出窗口中获得聊天
- 6. 如何实现多个弹出窗口?
- 7. 使用jQuery实现复杂功能的弹出窗口
- 8. 使用jabber实现聊天室功能
- 9. 当我玩swf游戏时如何阻止聊天窗口弹出窗口?
- 10. javascript中的弹出窗口实现
- 11. 如何实现没有javascript的弹出窗口确认窗口
- 12. 如何实现多窗口功能?
- 13. 如何在android的弹出窗口中实现垂直滚动?
- 14. 在iPhone上实现GUI弹出窗口
- 15. 在iOS 5的iPhone应用程序中实现聊天功能?
- 16. 如何弹出,弹出在Gmail环聊等内嵌框架
- 17. 如何使用Python实现语音聊天功能?
- 18. 在Rails中实现聊天
- 19. 使用SignalR在Windows窗体中实现聊天实现
- 20. 如何在弹出窗口中打开弹出窗口?
- 21. 在RecyclerView聊天窗口内实现多个布局
- 22. 如何制作类似于Gmail弹出窗口的网络聊天应用程序?
- 23. PyQt聊天表情图标弹出窗口
- 24. 设计的聊天窗口
- 25. Aptana功能定义弹出窗口
- 26. 查询点功能弹出窗口
- 27. 在ios上实现与朋友的单词聊天功能
- 28. 实时游客聊天弹出?
- 29. Javascript - 如何将索引聊天转换为聊天窗口
- 30. 如何在deepstream.io上实现聊天?
没有听说过WindowMsg之前,一定要检查出来,干杯! – ConroyP 2008-10-04 08:17:56