1. 이슈
웹 페이지의 text를 복사 후, IDE (Eclipse, Visual Studio Code 등)에 복사하면 코드 문법이 맞지 않는다는 알림이 뜸
ex. colon expectedcss(css-colonexpected)
2. 원인
chrome 브라우저에서 space를 복사할때 char code 32(space)와 char code 160으로 섞어서 복사한다고 한다.
이게 평소에는 문제가 안되는데 ide에서는 char code 160 (non-breaking space) 때문에 문제가 된다.
실제로 문제가 되는 부분을 복사해서 charcode로 바꿔보면
32와 160이 번갈아가면서 나온다.
3. 해결
텍스트 복사시 non-breaking space는 삭제 후 클립보드에 복사되도록 수정.
window.addEventListener('copy',function(e){
document.execCommand('copy');
e.preventDefault();
// NBSP;non-breaking space(\u00A0) 삭제
var pastedData = document.getSelection().toString().replace(/\u00A0/gi,'');
e.clipboardData.setData('text/plain',pastedData);
})
* 참고한 사이트 +
unicode 글자를 입력하면 해당 글자의 charcode를 알려주는 코드, 해당 기능을 바로 실행해볼 수 있다.
https://codepen.io/HerbertAnchovy/pen/XLzdYr
https://blog.naver.com/bb_/221449936369
https://stackoverflow.com/questions/19549524/removing-non-break-spaces-in-javascript
'개발 > JavaScript' 카테고리의 다른 글
Javascript | Uncaught TypeError: Cannot read properties of undefined (reading 'split') (0) | 2021.12.15 |
---|---|
스크랩 | JavaScript | 윈도우 이모티콘(window emoji) 정규식 (0) | 2021.12.01 |
javascirpt | input 여러개 숫자만 입력가능하도록 설정 | input only text getElementsByClassName (0) | 2021.09.17 |
javascript | textarea text추가 (0) | 2021.09.14 |
JavaScript | do{} 구문, 완료값 반환 (0) | 2021.06.13 |