이것저것 코딩공부

[JS] 서버 올렸더니 자바스크립트로 구현한 복사 기능 에러 이유

김쨔뿌 2021. 9. 18. 01:18

자려고했는데 잊기전에 이건 써야겠다.

 

 

1. execCommand("copy"); 

Deprecated: This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

mozilla 에 적힌 글이다.

저 친구는 이제 웹표준에서 삭제되었거나, 삭제중이거나, 호환성 목적으로 남겨둘 순 있으나 언제든 삭제될 수 있으니 권장되지 않는다는것.

내 경우에는 저걸로 에러가 떴지만 같은 코드를 실행한 팀원은 잘 실행되었다. 

이 말은 결국 사용자에게도 그럴 수 있다는 것..

 

2. navigator.clipboard.writeText

로컬환경에서 작동되지 않는다면 코드를 다시 확인해보자.

보통은 아예 잘못된 코드를 적었거나, 선배들의 기록을 통해 긁어와 넣었으나 선택자를 잘못적은 경우이다.

 

로컬환경에서 잘 작동했는데 서버에 올리면 오류가 난다?이는 방화벽인가 보호벽인가 그것때문이다.

 

클립보드는 사용자의 개인정보가 있을지도 모르기에 이걸 건들이는건 보안이 중요하다.이때 사이트가 http로 시작한다면 그건 보안에 취약하다는 의미.http가 아니라 https로 변경해야한다.

 

변경법은 아래 링크에서 글 쓰신 분이 아주 잘 설명해주셨다.https://velog.io/@moonyoung/HTTPS-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0

 

HTTPS 설정하기

Nginx & Let's Encrypt 로 HTTPS 설정하기

velog.io

 

3. 그 외 기타

2번과 마찬가지로 로컬 환경에서는 작동하는데 서버에서 작동이 안될경우 2번의 이유일 가능성이 크다.

로컬환경에서도 발생하는 문제면 일단 개발자도구로 들어가서 콘솔을 누른 뒤 오류가 뜬 곳을 클릭해보면

친절하게 어느 부분에서 오류가 뜬건지 바로 보여준다.

로컬환경에서 복사 기능 넣는 가장 좋은 방법은 앞선 사람들이 해놓은 코드를 가져와 쓰는것이고

거기에서 선택자만 잘 설정하면 된다. 

 

그럼..20000