grammar-team / whale-grammar

Korean grammar checker extension for whale browser
Other
15 stars 4 forks source link

처음 사이드바를 열고 바로 DOM 객체 이벤트를 발생시켰을 때 문제점 #6

Open hsj-96 opened 4 years ago

hsj-96 commented 4 years ago
  1. 사이드바가 열리지 않은 상태에서 콘텐츠 스크립트가 메세지를 전송하면 background.js 에서 어떤 QUEUE 변수에 저장하고 whale.sidebarAction.show();

  2. 처음으로 사이드바가 연결 됐을 때, QUEUE 에 어떤 메세지가 들어있으면 해당 메세지를 현재 연결된 사이드바에 port.Message(); 후에 QUEUE 는 비우기

  3. 사이드바가 하나라도 열려있다면, 받은 메세지 port.Message();

  4. 2번, 3번 은 모두 sidebar.js 에서 받은 메세지를 맞춤법 검사기 입력창에 텍스트로 집어넣고 검사하기 버튼 클릭 이벤트 발생

  5. 2번에서는 버튼 이벤트가 발생 X, 3번에서는 버튼 이벤트 정상적으로 발생 (아래 사진은 2번에서 버튼 이벤트가 발생하지 않은 상태) image

  6. 2번에서 port.Message();setTimeout 으로 일정시간 지연을 주고 메세지를 전송해봤더니 이번에는 버튼 클릭 이벤트가 정상적으로 작동

image

image

  1. 타이머는 좋은 방법이 아니므로 다른 방법으로 해결!