Tôi không tìm cách triển khai đầy đủ, tôi quan tâm nhiều hơn đến cách họ thực hiện. Tôi biết họ sử dụng GWT, nhưng tôi muốn một câu trả lời cấp thấp hơn. Naively, tôi sẽ bắt đầu bằng cách suy nghĩ khi bạn nhấp vào liên kết popout họ chỉ cần mở một cửa sổ mới và sao chép nội dung vào đó. Có rất nhiều lý do tại sao điều đó sẽ không hoạt động tốt, vì vậy tôi tự hỏi nếu có ai biết hoặc có ý tưởng về cách họ làm điều này hoặc làm thế nào nó có thể được thực hiện.Làm cách nào để triển khai chức năng bật ra của cửa sổ trò chuyện trong Gmail?
Trả lời
Gần đây tôi cần giải quyết chính xác vấn đề này trong ứng dụng. Tôi đã kết thúc bằng cách sử dụng ít jQuery plugin tuyệt vời này để làm các trick: WindowMsg (xem link ở phía dưới) Trong khi tôi chắc chắn rằng có những cách khác để thực hiện các nhiệm vụ tương tự, plugin mà không công trình thusly:
- đầu tiên bạn tạo cửa sổ con mới từ cửa sổ ban đầu của bạn bằng cách sử dụng window.open
- bạn lưu tham chiếu đến đối tượng cửa sổ được trả về bởi window.open
- bạn gọi phương thức thư viện trong cửa sổ con thêm biểu mẫu ẩn cho thư viện vào lưu trữ dữ liệu trong
- bạn gọi phương thức thư viện trong cửa sổ chính sử dụng window.document.forms để điền vào các trường biểu mẫu trên chiến thắng con dow (thư viện tóm tắt tất cả các công cụ này để bạn thậm chí không biết có một biểu mẫu liên quan trừ khi bạn nhìn vào nguồn) window.document.forms hoạt động tương tự trên tất cả các trình duyệt chính, do đó trừu tượng này trong trình duyệt x tương thích
- cuối cùng, cửa sổ con tham chiếu trở lại cửa sổ cha của nó bằng cách sử dụng window.opener và có thể truyền lại thông qua biểu mẫu ẩn song song trên thư mục
- thư viện thực hiện một trình trợ giúp thuận tiện. chuỗi gọi lại dễ dàng để xử lý
Trong kinh nghiệm làm việc với thư viện, nó cũng sẽ rất tuyệt nếu chúng đã bao gồm JSON 2 lib từ JSON.org. Trong hộp, WindowMsg chỉ cho phép bạn gửi các thông điệp chuỗi giữa các cửa sổ, nhưng với một số sử dụng khá đơn giản của JSON 2 lib, tôi đã có thể hack nó để cho phép gửi các đối tượng JSON đầy đủ giữa các cửa sổ. Tôi đặt cược nhiều thư viện trưởng thành hơn (chẳng hạn như sử dụng google) bao gồm loại serialization đó và de-serialization được nướng.
Tôi đặt liên kết này ở đây vì lý do nào đó, trình định dạng ngăn xếp ngăn xếp biến thành liên kết cố định không có thẻ đóng và tôi không muốn toàn bộ bài đăng của mình trở thành một siêu liên kết khổng lồ!
WindowMsg: http://www.sfpeter.com/2008/03/13/communication-between-browser-windows-with-jquery-my-new-plugin/
Tôi có thể nói một cách đơn giản nhất là nên có các dữ liệu được lưu trữ trên máy chủ (mà bạn có thể làm được), sau đó chỉ cần có cửa sổ mới lấy dữ liệu đó.
Tất nhiên không tồn tại những thứ như nội dung của hộp văn bản mà người dùng nhập, do đó tùy thuộc vào cửa sổ, điều đó có thể không thực tế .. nhưng tốt nhất là bắt đầu thử tùy chọn đơn giản nhất!
- 1. Cửa sổ trò chuyện trên facebook được triển khai như thế nào?
- 2. Làm thế nào để chạy chức năng của cửa sổ cha khi cửa sổ con đóng?
- 3. Làm thế nào để chạy chức năng của cửa sổ cha khi cửa sổ con đóng?
- 4. mở cửa sổ trò chuyện lync trong javascript
- 5. Triển khai hệ thống trò chuyện: nơi lưu trữ dữ liệu trò chuyện?
- 6. Cách triển khai khái niệm cửa sổ soạn thư gmail trong các ứng dụng Trang đơn?
- 7. Làm cách nào để triển khai chức năng hoàn tác?
- 8. Android Bong bóng trò chuyện triển khai trong ListView
- 9. Chức năng "Người dùng đang nhập" trong cuộc trò chuyện
- 10. Làm cách nào để triển khai đúng chức năng "thu nhỏ đến khay" trong Qt?
- 11. javamail: Làm cách nào để yêu cầu gmail không đăng nhập tôi vào trò chuyện?
- 12. cách triển khai MVC3 WebApp vào các cửa sổ Azure
- 13. Chức năng gọi trên cửa sổ mở
- 14. Làm cách nào để triển khai chức năng awt.CardLayout trong ứng dụng javaFX 2.0 của tôi?
- 15. GMail triển khai Comet như thế nào?
- 16. Làm cách nào để triển khai giao thức XMPP cho ứng dụng trò chuyện của riêng tôi?
- 17. Chức năng đóng cửa sổ trong Tkinter
- 18. Thảo luận: Cách tốt nhất để triển khai phòng trò chuyện với node.js/socket.io?
- 19. Triển khai tối thiểu của couchdb trên các cửa sổ
- 20. Làm cách nào để tắt cửa sổ bật lên mật khẩu mặc định của trình duyệt?
- 21. Đồng bộ hóa trò chuyện qua nhiều cửa sổ/tab bằng API AppEngine Channel
- 22. Làm cách nào để tạo iframe bật lên trong cửa sổ bật lên Magnific?
- 23. Làm cách nào để triển khai kéo cửa sổ bằng khu vực ứng dụng khách?
- 24. Làm cách nào để triển khai Chức năng tìm kiếm trong một trang web?
- 25. Cách triển khai chức năng Excel Solver trong C#?
- 26. Facebook Chat đồng bộ các cuộc trò chuyện giữa các cửa sổ/tab
- 27. Cửa sổ bật lên trong Java Swing
- 28. Cách ẩn cửa sổ bật lên của URL trong UIwebview
- 29. Phát triển trò chơi: Bạn tạo trò chơi câu chuyện bằng cách nào?
- 30. Làm cách nào để làm cho cửa sổ bật lên QComboBox trở lên?
Bạn chưa từng nghe về WindowMsg trước đây, phải kiểm tra nó, chúc mừng! – ConroyP
Thật không may là liên kết cho ** WindowMsg ** bị hỏng - bạn có một cái khác hay bạn có thể thêm một ví dụ nhỏ vào câu trả lời của mình không? (ví dụ: mẫu mã) – Matt