반응형
부모 쪽
$(window).load(function() {
sendMsg();
});
function sendMsg() {
vSendData = vEmail + "^" + vComCode + "^" + vDomain + "^" + vPwd; //보내는 데이터
document.getElementById('sof').contentWindow.postMessage(vSendData, 'url');
}
자식 쪽
//Get Data
bind(window, 'message', function (e) {
//Get data
var get = new Object();
//vEmail=Email^vEmail=CompanyCode
//alert(e.data);
try {
//데이터 유무 확인
if (e.data != null || e.data != "") {
var vResult = e.data;
var ret = vResult.substr(0).split("^");
for (var i = 0; i < ret.length; i++) {
var r = ret[i].split("=");
get[r[0]] = r[1];
}
//변수 확인
if (get["vEmail"] == null || get["vEmail"] == "") {
throw "[Error]E-Mail : (" + get["vEmail"] + ")";
}
else if (get["vComCode"] == null || get["vComCode"] == "") {
throw "[Error]Company Code : (" + get["vComCode"] + ")";
}
else if (get["vDomain"] == null || get["vDomain"] == "") {
throw "[Error]Domain Info : (" + get["vDomain"] + ")";
}
else if (get["vPwd"] == null || get["vPwd"] == "") {
throw "[Error]Password Info : (" + get["vPwd"] + ")";
}
else {
fnAutoSearchData(get);
//Check Success
//test Data
//$('#email').val() = get["vEmail"] + "/" + get["vComCode"];
//document.getElementById("email").value = get["vEmail"] + "/" + get["vComCode"];
}
}
} catch (e) {
alert(e);
console.log(e);
}
});
function bind(elem, type, handler, capture) {
type = typeof type === 'string' && type || '';
handler = handler || function () { ; };
if (elem.addEventListener) {
elem.addEventListener(type, handler, capture);
}
else if (elem.attachEvent) {
elem.attachEvent('on' + type, handler);
}
return elem;
};
간략 요약
부모 창의 데이터를 자식 창의 데이터로 옮기는 작업
하지만 크로스 도메인의 이슈 때문에 지금은 사용 못하는 것으로 확인 됩니다.
'IT > JS + Jquery' 카테고리의 다른 글
[JavaScript]input 버튼 활성화 비활성화 (0) | 2019.07.24 |
---|---|
[JavaScript]'.' , '@' 제외한 특수문자 제거 (0) | 2019.07.24 |
[JavaScript]아스키코드 특수문자 함수 (0) | 2019.07.24 |
[JavaScript]js 이메일 @ 체크 (0) | 2019.07.24 |
[JavaScript]Input 숫자만 입력 (0) | 2019.07.23 |