card.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. /**
  2. opt:{
  3. name: "窗口名称",
  4. src: "logo,
  5. url: "打开的窗口地址"
  6. }*
  7. */
  8. function openCard(opt) {
  9. if (window.parent && window.parent.openCard) {
  10. window.parent.openCard(opt)
  11. }
  12. }
  13. //向书签发送事件消息
  14. function emitter_emit(event, data) {
  15. if (window.parent && window.parent.emitterBus) {
  16. window.parent.emitterBus.emit(event, data);
  17. }
  18. }
  19. //监听书签发送的事件消息
  20. function emitter_on(event, callback) {
  21. if (window.parent && window.parent.emitterBus) {
  22. window.parent.emitterBus.on(event, callback);
  23. }
  24. }
  25. //取消监听书签发送的事件消息
  26. function emitter_off(event, callback) {
  27. if (window.parent && window.parent.emitterBus) {
  28. window.parent.emitterBus.off(event, callback);
  29. }
  30. }
  31. window.addEventListener("load", () => {
  32. document.body.oncontextmenu = function (event) {
  33. const {clientX, clientY} = event;
  34. const {x, y} = window.frameElement.getBoundingClientRect()
  35. emitter_emit("cardMouseRight", {
  36. left: x + clientX,
  37. top: y + clientY,
  38. data: {
  39. id: window.frameElement.dataset.appid
  40. }
  41. });
  42. return false;
  43. }
  44. document.body.addEventListener('mousedown', () => {
  45. emitter_emit('deskTopMouseClose')
  46. emitter_emit('mouseMenuClose')
  47. })
  48. })