๊ธฐ์กด์ Internet Explorer(IE) ๊ธฐ์ค์ผ๋ก ๋ง์ถฐ์ ธ ์๋ ๋ด๋ถ ์์คํ /UI ์์๋ค์ Chrome/Edge ์ ํํ๋ ์์ ์ ํ๊ฒ ๋๋ค.
๊ฐ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ณธ ์คํ์ผ ์ฐจ์ด์ CSS ์ ํ์/์ ์ญ ๊ฐ์ฒด ์์กด์ฑ ๋๋ฌธ์ ์๊ฐ๋ณด๋ค ๋ค์ํ UI ๊นจ์ง๊ณผ JS ์ค๋ฅ๋ฅผ ๋ง์ฃผ์น๊ณ ์๋ ์ค์ด๋ค
์ง๋์ฃผ ์์ ์์ ์ง๋ฉดํ๋ ๋ํ์ ์ธ ์ด์๋ค๊ณผ ์์ธ, ๊ทธ๋ฆฌ๊ณ ํด๊ฒฐ ๊ณผ์ ์ ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํ๋ค
1. ์ ์ญ event ๊ฐ์ฒด ์ฐธ์กฐ๋ก ์ธํ JavaScript ์ค๋ฅ
๋ฌธ์ : ๋ธ๋ผ์ฐ์ ์ ํ ํ ๋๋กญ๋ค์ด ๋ฉ๋ด ์ธ๋ถ๋ฅผ ํด๋ฆญํ ๋ ์ฝ์์ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉฐ ๋ซํ ๋ก์ง์ด ๋์ํ์ง ์๋ ํ์์ด ๋ฐ์ํ๋ค
Uncaught TypeError: Failed to execute 'contains' on 'Node': parameter 1 is not of type 'Node'
์์ธ: ๊ธฐ์กด ์ฝ๋์์๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ ๋ด๋ถ์์ ๋งค๊ฐ๋ณ์๋ก ์ด๋ฒคํธ๋ฅผ ์ ๋ฌ๋ฐ์ง ์๊ณ ์์๋ค
- IE ํ๊ฒฝ์์ ๋์ํ๋ ์ ์ญ event ๊ฐ์ฒด๋ฅผ ์๋ฌต์ ์ผ๋ก ์ฐธ์กฐํ๊ณ ์์๋ค
- Chrome/Edge์์๋ ๋ค๋ฅด๋ค. ์ ์ญ event ์ฐธ์กฐ ์ ์๋์น ์์ ๊ฐ์ฒด๋ undefined๊ฐ ์ ๋ฌ๋์ด contains() ๋ฉ์๋์์ ํ์ ์๋ฌ๋ฅผ ์ผ์ผํจ๋ค.
ํด๊ฒฐ: event ๋ช ์
2. Placeholder ์คํ์ผ ๋จนํต ํ์
๋ฌธ์ : Chrome์์ Placeholder ์์ ์คํ์ผ์ด ์ ๋จนํ
์์ธ: IE ์ ์ฉ ์ ํ์์ธ :-ms-input-placeholder๋ง ๋จ๋ ์ ์ธ๋์ด ์์ด Chrome์ด ๊ตฌ๋ฌธ์ ๋ฌด์ํ ๊ฒ์ด ์์ธ์ผ๋ก ๋ณด์ธ๋ค
ํด๊ฒฐ: ํ์ค ์ ํ์์ธ ::placeholder๋ฅผ ๊ฐ์ด ์ฑ๊ฒจ์ค๋ค
3. <select> ๋ฐ์ค ํ์ดํ๊ฐ ์ฌ๋ผ์ง
๋ฌธ์ : ์ ๋ ๋ฐ์ค ํ์ดํ๊ฐ ์ ๋ณด์ & ์ด๋ฏธ์ง ์ค์ ํ๋๋ฐ ์ ๋ณด์
์์ธ: appearance: none์ผ๋ก ๊ธฐ๋ณธ ํ์ดํ๋ฅผ ๋ ๋ ธ๊ณ (IE์์ ์ ์๋ป์ ์ปค์คํ ์ ์ฉํ๋๋ผ ๋ํดํธ๋ฅผ ์ฃฝ์), ์ด๋ฏธ์ง๋ IE์์๋ง ์ง์ํ๋ ์ฝ๋์์
ํด๊ฒฐ: to-be ๋ธ๋ผ์ฐ์ ์์ ์ง์ํ๋ ๊ธฐ๋ณธ ํ์ดํ๋ฅผ ์ด๋ฆฌ๊ณ , ์ปค์คํ ์ด๋ฏธ์ง๋ฅผ ๋ช ์
4. Disabled <textarea> ํ์ ๋ฐฐ๊ฒฝ ๋ฌป์ด๋จ
๋ฌธ์ : Chrome์ผ๋ก ์ค๋ ๋นํ์ฑํ(disabled) ์์ญ์ ๋ฌ๊ธ์์ด ์ด๋์ด ํ์ ๋ฐฐ๊ฒฝ์ด ๊น๋ฆผ
์์ธ: Chrome์ ๊ธฐ๋ณธ textarea:disabled๊ฐ ๋ฐฐ๊ฒฝ์ ๋์ถฉ ํ์์. ๊ทธ๋ฆฌ๊ณ ๋ด๋ถ์ ์ด๋์ ๊ฐ๋ก์ฑ์ ์ฃผ๊ณ ์์์;;(์ฐ์ด๋ณด๋ ๋ฑ ์ด ์๊น์)
ํด๊ฒฐ: ์ปค์คํ ํด๋์ค๋ก ์ค๋ฒ๋ผ์ด๋
5. ์ ๋ ฅ ์์ญ ํด๋ฆญํ ๋ ์๊ธฐ๋ ๊ฒ์์/ํ๋์ ํ ๋๋ฆฌ (Focus Outline)
๋ฌธ์ : ์ ๋ ฅ์ฐฝ ํด๋ฆญ ์ IE์ ์๋ ๋๊บผ์ด ํ ๋๋ฆฌ๊ฐ ๋ ธ์ถ๋จ
์์ธ: Chrome ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ณธ ์ ๊ทผ์ฑ ํฌ์ปค์ค ์คํ์ผ(outline)์ด ๋ฐ๋ํ ๊ฒ์ผ๋ก ๋ณด์
ํด๊ฒฐ : outline์ ๋๊ณ ๋์์ธ์ ๋ง๋ border๋ฅผ ์ง์ ์ ์ด