반응형
1. Javascript
function wsMessage(e) {
console.log("----- [ WebSocket ] Receive Data -----");
try {
var sendMessage = e.data;
var data = JSON.parse(sendMessage);
if( !isEmpty(data) ) {
var size = $('iframe').length;
console.log("----- [ Iframe Size ] "+ size +" -----");
for( var i=0; i<size; i++ ) {
// document.getElementById('프레임Id').contentWindow.호출 함수명();
document.getElementById('iframe').get(i).contentWindow.eventboard(data);
}
}
} catch(e) {
console.log(e);
}
}
2. jquery
function wsMessage(e) {
console.log("----- [ WebSocket ] Receive Data -----");
try {
var sendMessage = e.data;
var data = JSON.parse(sendMessage);
if( !isEmpty(data) ) {
var size = $('iframe').length;
console.log("----- [ Iframe Size ] "+ size +" -----");
for( var i=0; i<size; i++ ) {
// ex1) $('#프레임Id').get(0).contentWindow.호출 함수명();
// ex2) $('iframe').get(0).contentWindow.호출 함수명();
$('iframe').get(i).contentWindow.eventboard(data);
}
}
}
catch(e) {
console.log(e);
}
}
3. 메서드
a. iframe 객체의 window
$('iframe').get(0).contentWindow
b. iframe 객체의 document
$('iframe').get(0).contentDocument
$('iframe').get(0).contentWindow.document
c. 부모 html에서 자식 iframe 함수 실행
$('#iframe').get(0).contentWindow.실행 함수명();
$('#iframe')[0].contentWindow.실행 함수명();
d. 부모 html에서 자식 iframe 변수 접근
$('#iframe').get(0).contentWindow.변수명;
e. 부모 html 에서 자식 iframe 접근, 제어
$('#iframe').contents().find('#id').text("하이");
f. 자식 iframe 에서 부모 html 변수, 함수 호출
window.parent.변수명 || 함수명; (parent : 한단계 부모 접근)
window.top.변수명 || 함수명; (top: 최상위 부모 접근)
g. iframe 이전 페이지로
$('iframe').get(0).contentWindow.history.go(-1);
h. iframe 새로고침
$('iframe').get(0).contentDocument.location.reload();
i. iframe 로드
$('iframe').load(function(){ // iframe이 모두 load된 후 제어
$(this).contents().find('body');
});
j. 자식 iframe 에서 부모 html의 다른 iframe에 접근
// 1.
$('제어할 아이디', parent.frames['부모창 제어할 iframe의 name값'].document).html("하이");
// 2.
$('iframe 요소 아이디', parent.document).contents().find('body').html();
k. 자식 iframedptj (바로 위) 부모 요소 html 제어
// 1.
window.parent.document.getElementById('iframe아이디').contentWindow.document
// 2.
$('body', window.parent.document).css('background', 'red');
// 3.
$('body', top.document).css('background', 'red');
l. 윈도우 팝업창에서 부모창 제어
$('id', opener.document).css('display', 'none');
m. 현재창이 iframe인지 여부 확인
// 1. self는 iframe, top은 self를 포함하는 부모페이지(최상위)
if( self == top ) // true이면 최상위 부모
// 2.
if( window.frameElement ) // null이면 최상위 부모
🙏 참조 ::
반응형
'JS&jQuery' 카테고리의 다른 글
[JS&jQuery] 특정 날짜간 차이 구하기 (0) | 2022.04.28 |
---|---|
[JS&jQuery] 클립보드 복사 기능 구현(clipboard 라이브러리 사용) (0) | 2021.09.11 |
[JS&jQuery] 문자열 시간(HH:MM:SS) 정수형 초 단위(Second)로 변환 (0) | 2021.09.10 |
[JS&jQuery] 배열의 중복제거 (0) | 2021.04.29 |
[JS&jQuery] 정규식으로 URL 및 IP 유효성 체크 (0) | 2021.02.07 |