๋ชฉ์ฐจ
(Javascript)๊ฐ๋ฐ์ ๋๊ตฌ ์ฝ์์ฐฝ ์ฐจ๋จ ๋ฐฉ๋ฒ - ์ฌ์ดํธ ์ด๋ [๊ฒฝ๊ณ ] ๊ฐ๋ฐ์ ๋๊ตฌ๊ฐ ๊ฐ์ง๋์์ต๋๋ค.
๊ฐ๋ฐ์ ๋๊ตฌ ์ฐจ๋จ์ ํ๊ณ์ ์ค์ฉ์ ์ ๊ทผ
๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ฐจ๋จํ๋ ค๋ ์ฃผ๋ ๋ชฉ์ ์ ๋ณด์ ๊ฐํ๋ HTML ๋ฐ CSS์ ์จ๊น์ ์ํจ์ผ ์ ์์ต๋๋ค. ํ์ง๋ง ์ค์ํ ๊ฒ์, ์ฝ์ ์ฐฝ์ ๋ง๋ ๊ฒ์ด ๊ธฐ์ ์ ์ผ๋ก ์๋ฒฝํ ๋ฐฉ๋ฒ์ ์๋๋ผ๋ ์ ์ ๋๋ค. ์ค์ ๋ก, ์ด๋ ์ ๋๋ ๋ซ๋ฆด ์ ์์ผ๋ฏ๋ก, ์ด ๊ธฐ๋ฅ์ ๋ณด์กฐ์ ์ธ ์๋จ์ผ๋ก๋ง ํ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ฝ์ ์ฐฝ ์ฐจ๋จ ์ฝ๋์ ์ฝ์ ์์น์ ์์
Stack Overflow์ ๊ฐ์ ์ฌ์ดํธ์๋ ๋ง์ ์ฝ์ ์ฐฝ ์ฐจ๋จ ์ฝ๋๊ฐ ์กด์ฌํ์ง๋ง, ๋ธ๋ผ์ฐ์ ์ ์ ๋ฐ์ดํธ๋ก ์ธํด ๋๋ถ๋ถ์ ์ฝ๋๊ฐ ๋ฌด๋ ฅํ๋์ด ์์ต๋๋ค. ์ด๋ฌํ ์ํฉ์์ Ukjin Yang ๊ฐ๋ฐ์๊ฐ ๋ง๋ ์ฝ๋๊ฐ ์ ์ฉํ ์ ์์ต๋๋ค. ์ด ์ฝ๋๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋ฐ์ ๋๊ตฌ ์ฝ์ ์ฐฝ์ด ์ด๋ฆด ๋ ํน์ ์ฌ์ดํธ๋ก ์ด๋ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํด๋ณผ ์ ์์ต๋๋ค.
ํฐ์คํ ๋ฆฌ ์ฌ์ฉ์์ ๊ฒฝ์ฐ, ์คํจ ํธ์ง์ ๋ํ ๊ธฐ์ด ์ง์์ด ํ์ํฉ๋๋ค. ์ด์ ๋ํ ์ ๋ณด๋ seons-dev.tistory.com์์ ํ์ธํ ์ ์์ต๋๋ค. ์ฝ์ ์ฐฝ ์ฐจ๋จ ์ฝ๋๋ฅผ HTML ๋ฌธ์์ </body>
ํ๊ทธ ๋ฐ๋ก ์์ ์ฝ์
ํ๋ฉด ๋ฉ๋๋ค:
<html>
<body>
<!-- ์ฌ๊ธฐ์ ์ฝ๋ ์ถ๊ฐ -->
</body>
</html>
์ฝ์ ์ฐฝ ์ฐจ๋จ ์คํฌ๋ฆฝํธ ์์
๋ค์์ ์ฝ์ ์ฐฝ ์ฐจ๋จ์ ์ํ JavaScript ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ์ ๋๋ค:
<script>
!function() {
function detectDevTool(allow) {
if(isNaN(+allow)) allow = 100;
var start = +new Date();
debugger;
var end = +new Date();
if(isNaN(start) || isNaN(end) || end - start > allow) {
// ์ฌ๊ธฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ ๊ฐ์ง ์ ์คํํ ์ฝ๋ ์ฝ์
}
}
if(window.attachEvent) {
if (document.readyState === "complete" || document.readyState === "interactive") {
detectDevTool();
window.attachEvent('onresize', detectDevTool);
window.attachEvent('onmousemove', detectDevTool);
window.attachEvent('onfocus', detectDevTool);
window.attachEvent('onblur', detectDevTool);
} else {
setTimeout(argument.callee, 0);
}
} else {
window.addEventListener('load', detectDevTool);
window.addEventListener('resize', detectDevTool);
window.addEventListener('mousemove', detectDevTool);
window.addEventListener('focus', detectDevTool);
window.addEventListener('blur', detectDevTool);
}
}();
</script>
ํน์ ๊ธฐ๋ฅ ์ถ๊ฐํ๊ธฐ
- Alert ๊ฒฝ๊ณ ๋ฉ์์ง:
๊ฐ๋ฐ์ ๋๊ตฌ๊ฐ ๊ฐ์ง๋ ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ํ์ํ๋ ค๋ฉด, ์๋ ์ฝ๋๋ฅผ ์ฃผ์ ์ฒ๋ฆฌํ ๋ถ๋ถ์ ์ฝ์ ํฉ๋๋ค: alert('๊ฐ๋ฐ์ ๋๊ตฌ๊ฐ ๊ฐ์ง๋์์ต๋๋ค!');
- ํน์ ์ฌ์ดํธ๋ก ์ด๋:
ํน์ ์ฌ์ดํธ๋ก ๋ฆฌ๋๋ ์ ํ๋ ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค: document.location.href="https://www.tistory.com/";
- ์ฌ๋ฌ ์ด๋ฒคํธ ์ถ๊ฐ:
๊ฒฝ๊ณ ๋ฉ์์ง์ ์ฌ์ดํธ ๋ฆฌ๋๋ ์ ์ ๋์์ ์ ์ฉํ๋ ค๋ฉด, ๋ค์๊ณผ ๊ฐ์ด ๊ตฌ์ฑํฉ๋๋ค: alert('๊ฐ๋ฐ์ ๋๊ตฌ๊ฐ ๊ฐ์ง๋์์ต๋๋ค!'); document.location.href="https://www.tistory.com/";
๊ฒฐ๊ณผ ํ์ธ
์ด์ ์น์ฌ์ดํธ์์ ์ฝ์ ์ฐฝ์ ์ด๋ฉด, ๋๋ฒ๊น ์ด ์ผ์ ์ ์ง๋๊ณ , ์ผ์ ์ ์ง๋ฅผ ํด์ ํ๊ฑฐ๋ ์ฝ์ ์ฐฝ์ ๋ซ๋ ์๊ฐ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ๋ํ๋๊ฑฐ๋ ์ง์ ํ ์ฌ์ดํธ๋ก ์ด๋ํ๊ฒ ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์ ๊ฐ๋ฐ์ ๋๊ตฌ์ ์ฌ์ฉ์ ์์ ํ ๋ง์ ์๋ ์์ง๋ง, ์ฌ์ฉ์์๊ฒ ๊ฒฝ๊ณ ๋ฅผ ์ฃผ๊ฑฐ๋ ๋ฆฌ๋๋ ์ ์ ํตํด ์ผ์ ๋ถ๋ถ ๋ณด์์ ๊ฐํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ต์ข ์ ์ธ ๋ณด์์ ์๋ฒ ์ธก ์กฐ์น์ ํจ๊ป ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค.

'Lect & Tip > javascript, jQuery' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์๋ฐ์คํฌ๋ฆฝํธ๋ก ๊ทผ๋ก๊ธฐ์ค๋ฒ ์ฐ์ฐจ์ผ์ ๊ณ์ฐ๊ธฐ ๋ง๋ค๊ธฐ (0) | 2024.06.16 |
---|---|
JavaScript RGB ์์ํ (0) | 2024.05.19 |
1678. Goal Parser Interpretation leetcode javascript ํด์ ๋ฐ ํ์ด (0) | 2023.11.20 |
์๋ผํ ์คํ ๋ค์ค์ ์ฒด JS ์์ ์ฐพ๊ธฐ ์๊ณ ๋ฆฌ์ฆ ๋ง๋ค๊ธฐ (0) | 2023.11.10 |
์๋ฐ์คํฌ๋ฆฝํธ ๋ฐ์ธ๋ฉ: ํ์ฉ๊ณผ ์ฃผ์์ (0) | 2023.11.07 |
๋๊ธ