🌿 크로스브라우징 이슈

new Date()

JavaScript의 new Date() 생성자는 다양한 형식의 날짜 문자열을 받아들일 수 있지만, 브라우저마다 해석하는 방식이 다릅니다.

const JS_시험날짜보는기능 = () => {
	// const 자격증시험일 = new Date("2020-09-10 10:30:00") // => 크롬O, 사파리X
	const 자격증시험일 = new Date("2020/09/10 10:30:00") // => 크롬O, 사파리O
	const 몇월 = 자격증시험일.getMonth() + 1
	
	alert(자격증시험일은 ${몇월}월달 이군요!)
}

한글 UTF-8

위에서 제공한 실습코드를 가지고 Safari에서 실행하게 되면, 아래 사진과 같이 글자가 깨져서 보이게 됩니다.

스크린샷 2024-08-13 오후 3.53.27.png

해결 방안은 <meta *charset*="UTF-8"> 해당 코드를 <head> 에 추가해주어야 합니다.

Safari는 다른 브라우저와 마찬가지로 기본적으로 문서의 인코딩을 해석하려고 합니다. 하지만 인코딩이 명확히 지정되지 않으면, 특히 한글 문서에서 문자가 깨지는 문제가 발생할 수 있습니다. 사파리는 때때로 특정 상황에서 인코딩을 제대로 추측하지 못해 한글이 깨질 가능성이 있기 때문에, <meta charset="UTF-8">를 사용해 명확하게 지정해주는 것이 중요합니다.

Chrome에서는 한글이 제대로 표시되었지만, Safari에서는 한글이 깨졌습니다. 이는 HTML 문서에 인코딩이 명시되지 않아 발생한 문제입니다. 이를 해결하려면 <meta charset="UTF-8"> 태그를 <head>에 추가해야 합니다. 이 태그를 사용하면 Safari와 Chrome 모두에서 한글이 올바르게 표시되어 크로스브라우징이 제대로 이루어집니다.

📝 실습 코드