일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- styled component 작동안함
- js 특정 위치로 이동
- React-Native 공부
- 임고미
- styled component is not working
- slick slider 간격
- 타입스크립트
- scrollIntoView scrollTo
- safari wiondow.open
- React Native navigation
- 퍼블리셔
- styled component 작동 안될때
- styled component
- JS
- React Native SafeArea Custom
- 리액트
- 프론트앤드
- react
- RN navitate push
- gsap
- input 숫자입력
- 웹뷰 페이지 로딩
- 트윈맥스 기초
- rn webview page loading
- react이론
- react native safeArea
- React-Native IOS
- SafeArea 커스텀
- gsap 기초
- reactnative 웹뷰 페이지 로딩
Archives
- Today
- Total
개발공부 임고미
[Javascript] iframe 개념/장점/단점 본문
728x90
300x250
iframe
- 개념
- 아이프레임이란 내부 프레임(inline frame)이라는 의미로 하나의 HTML문서내에서 다른 HTML문서를 보여주고자 할때 사용합니다. /
- 동영상, 뮤비도 넣을 수 있습니다.
- 특징
- 모든 브라우저에서 작동합니다.
- DOCTYPE문서 에서는 작동하지만 script문서에서는 작동하지 않습니다
- src 속성
inline frame 내에 불러올 문서의 주소를 적어주면 됩니다.
홈짱 홈페이지를 불러오는 예제를 만들어 보겠습니다.
<iframe src="http://www.homejjang.com"> |
1) width와 height 속성
inline frame의 너비와 높이를 지정할 수 있습니다.
<iframe src="http://www.homejjang.com" width="600" height="300"> |
2) frameborder 속성
inline frame의 경계선의 두께를 지정할 수 있습니다.
<iframe src="http://www.homejjang.com" frameborder="0" width="600" height="300"> |
3) marginwidth와 marginheight
inline frame의 여백을 지정할 수 있습니다.
<iframe src="http://www.homejjang.com" frameborder="0" width="600" height="300" marginwidth="0" marginheight="0"> |
4) scrolling
inline frame내에서 스크롤바 사용여부를 지정할 수 있습니다.
<iframe src="http://www.homejjang.com" frameborder="0" width="600" height="300" marginwidth="0" marginheight="0" scrolling="yes"> |
scrolling 값을 no로 지정하면 스크롤바가 생기지 않습니다.
5) a태그의 타켓 으로 사용하기
<참고 이미지>
- 장단점
- 장점 :
- 금방 컨텐츠를 추가할 수 있다.
- 페이지 이동이 없으므로 사용자로 하여금 응용프로그램을 다루는 느낌을 줄 수 있다.
- 단점 :
- 유지보수를 힘들게 한다.(버틸때까지 버티세요. / iframe보다는 ajax 통신이 바른 방향이라고 생각)
- HTML 코드량이 방대해져 브라우저 메모리가 과대해진다.
- iframe으로 삽입된 컨텐츠를 크롤링하지 못하는 검색엔진이 있기 때문에 안쓰는게 좋습니다 & 스크린리더에 읽히지 않습니다. (대부분의 사용자는 검색엔진에 의해 유입되는데 이부분을 제대로 활용하지 못하면 서비스 입장에서는 난감
- 보안 위험을 유발합니다.(https://syudal.tistory.com/entry/html-iframe%EC%9D%84-%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80-%EB%A7%90%EC%95%84%EC%95%BC-%ED%95%A0-%EC%9D%B4%EC%9C%A0-%EB%8B%A8%EC%A0%90)
- 사용성 문제를 일으킴 (브라우저의 뒤로가기버튼을 간헐적으로 작동되지 않게함, 해상도에 따라 이상하게 보입니다.)
-
화면의 크기가 작을경우 프레임을 사용하지 못할 수 있습니다.
제가 여기서 경험한 부분만 전달하겠습니다. 우선 iframe은 그 안에 담겨질 컨텐츠가 있는 주소에 쉽게 변화를 가져다줄 수 있습니다. 서버사이드든 클라이언트사이드에서든 언제든 부모페이지의 로직이 진행되는 과정에서 주소를 만들어서 링크만 해주면 됩니다. 컨텐츠의 추가는 부모페이지에서 iframe을 만들고 그 iframe에 주소만 연결해주면 되니 무척 쉽습니다. 그런데 컨텐츠의 유지보수를 위해 진행된 사항을 다시 거슬러 올라가야 한다면, 그 해당 컨텐츠가 나오는 주소를 찾기 위해 그 컨텐츠가 담겨진 iframe을 가지고 있는 부모페이지의 로직까지도 알아야 합니다. 사람의 뇌가 한 번 작업한 것들을 영원히 기억할 수 있다면 사실 문제될 게 없을수도 있지만.. 금새 잊게 되지요. 저처럼 처음으로 그 작업을 하게 되는 사람은 애초부터 그 컨텐츠를 보기 위해 경우의 수를 모두 대입해보아야 합니다. 로직이 심플하면 상관 없습니다만... 해당 화면을 보는 회원의 등급에 따라, 부모 페이지에서 선택된 메뉴에 따라, 부모 페이지에서 기존에 저장된 어떤 세션에 따라, 뭐 이렇게 온갖 복잡한 로직이 들어가있다면 헬입니다. 문제는 일단 iframe이 시작되면 그 편의성때문에 너무나 쉽게 온갖 경우의 수를 추가하면서 iframe을 쓰게 된다는 것입니다.
총평
HTML5에서는 아이프레임태그 사용을 권하지 않는 비추천 태그입니다.
728x90
300x250
'퍼블리싱 > html css js' 카테고리의 다른 글
[Javascript] 웹브라우저 뒤로가기버튼 제어하기 (0) | 2020.09.04 |
---|---|
[리액트]less , font 적용하기 (0) | 2020.09.02 |
[Javascript] 배열공부 (0) | 2020.09.02 |
사이트 주소창 관련 (0) | 2020.09.02 |
[Javascript] 쿠키값을 이용해 조작하기 (0) | 2020.04.22 |
Comments