.getElementById()
special Tags] 특수 태그들을 한데 묶어 테스트해봤습니다.
killofki
2013. 9. 14. 01:27
0)
여러개 웹브라우져들을 쓰다보니,
1)
어떤 태그는 예상(?)이 되는데,
특정 태그들은 애매하게(?) 적용되는 경우가 있더라구요.
.. 문법상 오류가 있는 source 입니다만,
일부러 그런 오류 포함해서 기입한 것이니, 참고하시기 바랍니다.
*주의* php 로 컴파일 되는 환경에서는 오류날 소스입니다. 참고해두세요.
2)
<html>
<?abc 123 "<html>04</html>05<script>/*06*/ window.v130914_1='<html>07</html>'; /*08*/</script>"
?>
<?def 123 "<html>09</html>10"
?>
<script>
window.v130914_1='<script>11</script>12';
</script>
</html>
3)
위에 있는 소스를 실행(?)하면,
<script> 태그는 </script> 태그에서 수렴하게 됩니다.
(그래서, <script> 는 태그 내로 숨어들 수 있는거죠.)
..
문제는, php 와 관련있는 <? ?> 태그인데요,
4)
[ IE8 ]
" 로 인해서인지, 전체를 감싸안음. <? 는 최소 두글자를 받아내고 시작함.
..라고 적어놨군요.
개발자도구에서 DOM(이라고 해야할까요.. HTML 탭입니다..)을 보니
<html>
<head>
<title></title>
<!-- c 123 "<html>04</html>05<script>/*06*/ window.v130914_1='<html>07</html>'; /*08*/</script>"
-->
<!-- f 123 "<html>09</html>10"
-->
<script>window.v130914_1='<script>11</script>
</head>
<body>
텍스트 - 12';
</script/>
텍스트 - 전체 :
</script/>
</body>
</html>
로 표현되어있네요.
소스보기일 때는 색상(?)이 지정된 듯 싶었지만,
정작, DOM 에서는 주석으로 표현되고 있습니다.
5)
[ chrome, firefox, safari, opera ]
: <? 이후 첫번째 > 만날 때 완료시켜버림.
<html>
<!--?abc 123 "<html-->
<head></head>
<body>
0405
<script>
/*06*/ window.v130914_1='<html>07</html>'; /*08*/
</script>
"
?>
<!--?def 123 "<html-->
0910"
?>
<script>
window.v130914_1='<script>11
</script>
12';
</body>
</html>
일단 chrome 일 때의 DOM 형태입니다.
두번째 html 태그에서 > 를 <? 태그 종료로 보고, 변환을 해버렸네요.
<? 태그가 오래 못(?)가는 형태라고 봐야겠죠.
IE8 과 대비되는 점은 역시, <? 이후 두글자를 먹지 않(?)았다는 점입니다.
왠지, IE8 내부에 web language 컴파일러를 달 수 있다고 하는 것 같네요.
두번째 <? 태그도 <html> 태그에서 딱 막아버렸네요.
6)
[ firefox ] *추가*
: script 내에 있는 특정 코드는 가용코드로 전환해버림.
firefox 일 때의 DOM 입니다.
<html>
<!--?abc 123 "<html-->
<head></head>
<body>
0405
<script>
/*06*/ window.v130914_1='<html>07</html>'; /*08*/
</script>
"
?>
<!--?def 123 "<html-->
0910"
?>
<script>
window.v130914_1='<script>11
</script>
12';
</body>
</html>
-.-.. 좀 무시무시하군요.
외관상(?)으로는 chrome 과 달라보이지 않았는데요,
스크립트에서 사용하는 스트링, 내부의 특수문자가 달라졌어요..
표현을 한다는 점에서는 동일해보이긴 합니다만,
저렇게 되면, 스트링의 길이가 달라질 수 있거든요.
물론, 콘솔로 직접 확인해보니, 스트링 길이는 15로 달라지지 않았습니다만,
저 코드를 HTML editable 상태에서 복붙(복사 & 붙여넣기 - copy & paste)한 경우라면, 얘기가 달라지겠죠.
7)
[ opera ]
: 소스코드의 구분점까지는 보임.
뭔가 조금 애매한 표현이라 한참을 봤는데요, chrome 과 다른점은 딱히 없고
다른 점이라면, 소스보기..를 한 경우인 것 같네요.
색상이 일반태그와 script 태그, 그리고 텍스트로만 나눠져 있더라구요.
8)
[ safari ]
: 개발자도구 구동법 모름 = =;.. 소스 코드만 볼 수 있음. 구분점은 확인 못했음.
= =;.. 완전한 확인은 못했습니다만, 표시되는 화면은 chrome 등과 거의 유사합니다.
..
wantHate killofki@.
여러개 웹브라우져들을 쓰다보니,
1)
어떤 태그는 예상(?)이 되는데,
특정 태그들은 애매하게(?) 적용되는 경우가 있더라구요.
.. 문법상 오류가 있는 source 입니다만,
일부러 그런 오류 포함해서 기입한 것이니, 참고하시기 바랍니다.
*주의* php 로 컴파일 되는 환경에서는 오류날 소스입니다. 참고해두세요.
2)
<html>
<?abc 123 "<html>04</html>05<script>/*06*/ window.v130914_1='<html>07</html>'; /*08*/</script>"
?>
<?def 123 "<html>09</html>10"
?>
<script>
window.v130914_1='<script>11</script>12';
</script>
</html>
3)
위에 있는 소스를 실행(?)하면,
<script> 태그는 </script> 태그에서 수렴하게 됩니다.
(그래서, <script> 는 태그 내로 숨어들 수 있는거죠.)
..
문제는, php 와 관련있는 <? ?> 태그인데요,
4)
[ IE8 ]
" 로 인해서인지, 전체를 감싸안음. <? 는 최소 두글자를 받아내고 시작함.
..라고 적어놨군요.
개발자도구에서 DOM(이라고 해야할까요.. HTML 탭입니다..)을 보니
<html>
<head>
<title></title>
<!-- c 123 "<html>04</html>05<script>/*06*/ window.v130914_1='<html>07</html>'; /*08*/</script>"
-->
<!-- f 123 "<html>09</html>10"
-->
<script>window.v130914_1='<script>11</script>
</head>
<body>
텍스트 - 12';
</script/>
텍스트 - 전체 :
</script/>
</body>
</html>
로 표현되어있네요.
소스보기일 때는 색상(?)이 지정된 듯 싶었지만,
정작, DOM 에서는 주석으로 표현되고 있습니다.
5)
[ chrome, firefox, safari, opera ]
: <? 이후 첫번째 > 만날 때 완료시켜버림.
<html>
<!--?abc 123 "<html-->
<head></head>
<body>
0405
<script>
/*06*/ window.v130914_1='<html>07</html>'; /*08*/
</script>
"
?>
<!--?def 123 "<html-->
0910"
?>
<script>
window.v130914_1='<script>11
</script>
12';
</body>
</html>
일단 chrome 일 때의 DOM 형태입니다.
두번째 html 태그에서 > 를 <? 태그 종료로 보고, 변환을 해버렸네요.
<? 태그가 오래 못(?)가는 형태라고 봐야겠죠.
IE8 과 대비되는 점은 역시, <? 이후 두글자를 먹지 않(?)았다는 점입니다.
왠지, IE8 내부에 web language 컴파일러를 달 수 있다고 하는 것 같네요.
두번째 <? 태그도 <html> 태그에서 딱 막아버렸네요.
6)
[ firefox ] *추가*
: script 내에 있는 특정 코드는 가용코드로 전환해버림.
firefox 일 때의 DOM 입니다.
<html>
<!--?abc 123 "<html-->
<head></head>
<body>
0405
<script>
/*06*/ window.v130914_1='<html>07</html>'; /*08*/
</script>
"
?>
<!--?def 123 "<html-->
0910"
?>
<script>
window.v130914_1='<script>11
</script>
12';
</body>
</html>
-.-.. 좀 무시무시하군요.
외관상(?)으로는 chrome 과 달라보이지 않았는데요,
스크립트에서 사용하는 스트링, 내부의 특수문자가 달라졌어요..
표현을 한다는 점에서는 동일해보이긴 합니다만,
저렇게 되면, 스트링의 길이가 달라질 수 있거든요.
물론, 콘솔로 직접 확인해보니, 스트링 길이는 15로 달라지지 않았습니다만,
저 코드를 HTML editable 상태에서 복붙(복사 & 붙여넣기 - copy & paste)한 경우라면, 얘기가 달라지겠죠.
7)
[ opera ]
: 소스코드의 구분점까지는 보임.
뭔가 조금 애매한 표현이라 한참을 봤는데요, chrome 과 다른점은 딱히 없고
다른 점이라면, 소스보기..를 한 경우인 것 같네요.
색상이 일반태그와 script 태그, 그리고 텍스트로만 나눠져 있더라구요.
8)
[ safari ]
: 개발자도구 구동법 모름 = =;.. 소스 코드만 볼 수 있음. 구분점은 확인 못했음.
= =;.. 완전한 확인은 못했습니다만, 표시되는 화면은 chrome 등과 거의 유사합니다.
..
wantHate killofki@.