일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- googlechart
- 시맨틱
- jQuery UI
- 새창열기
- script
- absolute
- 시맨틱 태그
- HTML
- 팝업
- window open
- window.open
- onclick
- html5
- css3
- 가상 요소
- Transform
- 태그
- tag
- Semantic
- 가상 클래스
- JavaScript
- 구글차트
- 깜박임
- Semantic tag
- position
- 툴팁
- 페이지 이동
- jQuery
- relative
- translate
- Today
- Total
무아지경
[팝업창]window.open 팝업창 크기 동일하게 맞추기 본문
팝업창 크기 동일하게 맞추기
서브페이지 작업을 하다보면 팝업창을 띄워야 할 경우가 생깁니다.
레이어팝업으로 하면 깔끔하고 이쁘게 할 수 있겠지만...
개발자의 의견으로 레이어팝업으로 할 수 없고 꼭 새창으로 팝업을 띄워야 할 경우가 생기네요.
팝업창을 띄워는 방법은 window.open을 사용 하여 띄우는 방법을 사용 하고 있습니다.
(다른 방법이 있나 알아보지 않아서 모르겠네요..;;)
window.open 팝업창 띄우는 방법은 https://yeoninim.tistory.com/14 요기에 설명 되어 있습니다.
window.open을 이용하여 팝업창의 크기와 위치를 지정할 수 있습니다.
네 별로 어렵지 않은데..문제는 크로스브라우징 입니다.
실제로 작업한 홈페이지에서 문제가 발생했습니다.
각각의 브라우저 별로 팝업창의 크기가 달라서 불필요한 스크롤이 생기는 경우가 생겼습니다.
특히 Opera 브라우저가 다른 브라우저에 비해 팝업창이 더 작게 나오는거 같습니다.
이걸 CSS로 해결할 방법이 없더라구요..(제가 모르는것 일까요??)
검색하다가 우연히 발견한 어느 개발자 분의 글을 보고 따라해봤습니다.
브라우저별로 크기가 다른 이유와 해결 방법을 자세하게 설명 해 주셨네요..
정말 감사합니다.
자세한 내용을 알고 싶으시면 맨 아래 주소로 가서 확인 해 보세요.
저도 급하게 해결하느라 자세히 못봤는데..다시 보고 공부해야 겠습니다.
해결방법
저는 .userInfoPop 이(가) 팝업창의 크기를 지정한 class 입니다.
각자 본인이 정한 class나 id를 넣고 사용해보세요.
$(document).ready(function() {
// 팝업 창 크기를 HTML 크기에 맞추어 자동으로 크기를 조정하는 함수.
var strWidth;
var strHeight;
//innerWidth / innerHeight / outerWidth / outerHeight 지원 브라우저
if ( window.innerWidth && window.innerHeight && window.outerWidth && window.outerHeight ) {
strWidth = $('.userInfoPop').outerWidth() + (window.outerWidth - window.innerWidth);
strHeight = $('.userInfoPop').outerHeight() + (window.outerHeight - window.innerHeight);
}
else {
var strDocumentWidth = $(document).outerWidth();
var strDocumentHeight = $(document).outerHeight();
window.resizeTo ( strDocumentWidth, strDocumentHeight );
var strMenuWidth = strDocumentWidth - $(window).width();
var strMenuHeight = strDocumentHeight - $(window).height();
strWidth = $('.userInfoPop').outerWidth() + strMenuWidth;
strHeight = $('.userInfoPop').outerHeight() + strMenuHeight;
}
//resize
window.resizeTo( strWidth, strHeight );
});
'퍼블리싱 > Cross Browsing' 카테고리의 다른 글
[CSS 초기화]reset.css 와 normalize.css 차이점 (0) | 2018.12.02 |
---|---|
[Internet Explorer] IE 9버전 이하 크로스 브라우징 (0) | 2018.11.16 |
[Vender Prefix] 벤더프리픽스 (0) | 2018.11.16 |
[Cross Browsing] 크로스 브라우징이란...???? (0) | 2018.11.16 |