얼마전 아래 글을 썼었다.
2007/10/01 - [★☆프로그래밍☆★/└ Web] - [JavaScript] window.close() 확인창 없이 윈도우 닫기
현재 하고 있는 작업에서 필요한 부분이어서 쓰게 되었었는데 이 글의 제목에 따른 문제로 인해 암담해졌다. OTL
Internet Explorer 에서는 현재창의 메뉴바나 상태바 등을 안보이거나 보이게 할 수 없기 때문에(참고로 넷스케이프는 지원하는것 같았다.) 현재창에서 자식창을 하나 window.open()으로 열고 현재창을 닫는 방법이 가장 잘 쓰이고 있는 꽁수 였다.
하지만 아래에 쓰게 될 IE7.0의 이슈사항들 중 하나의 내용이 위의 방법을 사용하지 못하도록 하게 될 것 같다. 아~ 이 무슨...
IE7.0 에따른 이슈사항들
1. window.status
window.status 코드가 인터넷 영역에서 실행되지 않습니다.
단 로컬에서는 됩니다 즉 로컬에 저장된 html을 실행하면 window.status가 먹지만
인터넷에 있는 window.status는 실행되지 않네요.
개인적으로 js 디버깅시 자주 사용하곤 했는데 아쉬운 부분입니다 ㅠ.ㅠ
2. <base>태그
HTML3.2 스펙에 따라 <base>태그는 반드시 <head></head>에 위치해야 합니다.
그렇지 않으면 인식하지 않는다네요.
예전엔 base태그를 간간히 썼지만 요즘은 frame 을 잘 사용하지 않아서인지 거의 사용하진 않죠.
3. window.close()
window.close()시 나타나는 프롬프트를 회피하기 위해 window.opener 를 사용했었는데
더이상 아래 코드는 먹지 않고 창을 닫겠냐는 프롬프트가 뜨게 됩니다.
4. _search
_search를 통해 검색창을 더이상 열지 못합니다.
5. window.prompt()
디폴트로 block 됩니다.
6. 제한되는 메쏘드들
클립보드 저장, 및 클립보드 데이터 가져오기등의 메쏘드들이 제한됩니다.
MS에서는 clipboardData 객체 사용을 권고하지 않습니다.
7. Modal 및 Modeless Dialog 크기가 변경!
한마디로 크기가 커집니다. -0- (짜증)
사이즈를 지정하면 content 크기를 의미합니다.
8. 새창으로 뜰때 주소줄 보임
더이상 새창을 window.open 의 property 특성으로 조절할 수 없습니다.
무조건 주소창이 나타납니다 아주~ 짜증 이빠십니다. ㅠ.ㅠ
9. window.resizeTo()
window.resiztTo 함수는 에러가 발생하거나 차단됩니다.
10. HTTP, HTTPS 혼합된 인터넷 영역에서 보안 경고가 발생합니다.
11. SELECT가 windowed element로 개선
이전까지는 SELECT Element가 Windowsed Element였기 때문에 다른 element와 달리 별도의 MSHTML pane에서 rendering되었습니다
즉 SELECT가 그림과 같이 layer들을 다 먹어버렸었는데, 이젠 그렇지 않다는거죠
요거 하나는 좋아졌네요 -0-
12. 스크립트 차단
6.0 까지는 아래 코드가 실행되어 보안에 매우 취약했었습니다. (XSS)
7.0 부터는 아예 실해이 안되네요.
FF 2.0 도 실행이 안되는군요. ^^
13. CSS
100%는 아니지만 CSS2.1 표준 구현 강화가 되었습니다.
또한 <a> 태그에서만 가능했던 :hover나 background-attachment: 가 모든 태그에서 사용가능해 졌습니다.
06년 11월 18일에 한글판 IE7이 배포되며 3주후에는 자동 업데이트를 통해 IE7가 설치가 된다고 합니다.
슬슬 준비하셔야 할겁니다.
위에 열거한 사항들은 대부분 인터넷 옵션의 "보안"항목에서 수정할 수 있지만 중요한점은 이 사항들이 기본빵이라는점이겠죠. -0-
이밖에도 알려진 버그로는 "신뢰할수 있는 사이트"에 추가를 했는데도, 보안창이 뜬다든가,
flash에서 _blank로 새창을 열면 자기 자신창에서 열린다든가 하는 버그가 있다고 합니다.
내년에 왼도 비스타가 나오면 한번더 보안관련된 사항들이 많이 나올듯 합니다.
웹프로그래머로써 프로그램하기 점점 힘들어 지네요. 징징~