좋지! 버튼을 드래그로 이동 가능하게 바꾸고, **토스트(완료/실패 팝업)**도 버튼 바로 옆에 뜨도록 업데이트했어요. 기본 위치는 이전처럼 화면 오른쪽 상단에서 아래로 약 20% 지점이지만, 한 번 옮기면 위치가 저장되어 다음에도 그대로 뜹니다.
적용 패치
1) floating_button.css (위치값은 JS에서 동적으로 넣으니, 고정 top/right 제거)
2) content_script.js (드래그 + 토스트 근접 표시 + 위치 저장)
참고:
captions_extractor.js는 기존 버전 그대로 두셔도 되고, 이전에 드린 json3→srv3/srv1 폴백/자동생성 판별 보강 패치까지 적용하시면 더 견고합니다.
크롬 확장프로그램 기능 정리 (최신 사양)
-
한 번 클릭으로 자막 전송
-
유튜브
watch페이지에서 CAP 버튼 클릭 → 자막/메타데이터 추출 → 지정한 REST API로 전송
-
드래그해서 버튼 위치 자유롭게 이동
-
버튼을 마우스로 끌어 원하는 위치에 고정
-
위치(상단/좌측 퍼센트)가 자동 저장되어 다음에도 유지
-
토스트 안내를 버튼 옆에 표시
-
성공/실패/경고 메시지를 버튼 바로 옆에 3초간 표시
-
화면 여백이 부족하면 자동으로 반대편에 띄움
-
견고한 자막 추출
-
ytInitialPlayerResponse기반 메타데이터 수집 -
캡션 트랙에서 우선 언어(ko, en 등) 선택
-
json3우선, 필요 시srv3/srv1폴백(옵션) -
자동 생성 자막(
asr) 여부 추정
-
중복 전송 방지 & 에러 가시화
-
버튼 연타시 3초 디바운스
-
실패 시 상태코드/본문 일부 미리보기로 즉시 원인 파악
-
보안/권한
-
CORS 회피를 위해 background에서 네트워크 요청
-
host_permissions최소화 구성 권장 (예:http://localhost:8000/*+ 운영 도메인)
-
연동 스키마(요약)
-
필수:
video_id,url,title,captions[],language -
권장:
description,channel_name,upload_date,duration_seconds,view_count -
시스템용:
source="external",extracted_at,extension_version
필요하면 Shorts/임베드 대응, 토큰 헤더(Authorization) 설정, 언어 우선순위 설정 UI도 바로 붙여드릴게요. 원하시는 옵션 말씀만 주세요!