document.domain="afreecatv.com"; document.writeln(''); var ie = (navigator.appName.indexOf ("Microsoft") != -1) ? 1 : 0; var szLogOutDefaultPage="http://www.afreecatv.com";//로그아웃후 돌릴 페이지 var szAfterLoginPage=""; var szFrom = ''; var szApp = ''; var szAction = ''; var requestRunning = false; var aSearch = (location.search).substring(1, location.search.length).split("&"); for(i=0;iNumber()? false : true; } // 아이디 저장 삭제 function setLoginCook() { if (!isSaveId) { save_id=""; expireDate = new Date(); // 새로운 expireDate 객체를 생성하고 expireDate.setDate(expireDate.getDate()-1); // 유효기간의 날짜값을 오늘보다 하루적게(어제) 설정합니다 document.cookie = "PdboxSaveTicket=; path=/; domain=afreecatv.com;expires=" + expireDate.toGMTString()+";"; } } //쿠키정보 get for js function read_Cookie(name) { var srch = name + '='; var szCookie = unescape(document.cookie); if (szCookie.length > 0) { offset = szCookie.indexOf(srch); if (offset != -1) { offset += srch.length; end = szCookie.indexOf(';', offset); if (end == -1) end = szCookie.length; return szCookie.substring(offset, end); } else return false; } else return false; } function is_null(szText) { var szWhite = /^\s*$/; if(szWhite.exec( szText)) { return true; } return false; } function onAfterLoginLogOut() { try{ if( szAfterLoginPage!="" ) { location.replace(szAfterLoginPage); /* if(szAfterLoginPage.substring(0,7)=="http://") { location.replace(szAfterLoginPage); } else { eval( szAfterLoginPage ); }*/ } }catch(e) { //alert(szAfterLoginPage); } } // 로그인 이후 AFCPackage 로 통신하도록 이동 function onAfterLoginAFCPackage(nCaption,closeOpt){ try{ if (typeof(closeOpt)==='undefined') closeOpt = ""; var szUrl = "https://live.afreecatv.com/app/connect_package.php?nCaption=" + nCaption + "&closeOpt=" + closeOpt; location.href = szUrl; }catch(e){ alert("통신 문제가 발생하였습니다. 고객센터에 문의 주세요." + e ); } } //설치형 로그인 이후 AFCPackage로 통신 (나중에보기,즐겨찾기,MY) function onInstallAfterLoginAFCPackage(nCaption,nLoginOpt){ try{ if (typeof(nLoginOpt)==='undefined') nLoginOpt = ""; var szUrl = "https://live.afreecatv.com/app/connect_package.php?nCaption=" + nCaption + "&nLoginOpt=" + nLoginOpt; location.href = szUrl; }catch(e){ alert("통신 문제가 발생하였습니다. 고객센터에 문의 주세요." + e ); } } // 플래시 로그아웃 결과 function onLogOutFlashRecv(szData) { szData = szData.replace(/\n/g, ""); try { eval( szData ); onAfterLogOut( oLoginRet.CHANNEL.RESULT); } catch (e) { alert("OnLogOutFlashRecv : " + e.description ); } } // 로그아웃 결과 분리 function onAfterLogOut( nRet ) { //todo 나중에 빠짐 try { aTicket ={}; isLogin =false; onAfterLoginLogOut(); } catch(e) { } } // 로그인 결과 분기 function onAfterLogin(data, isApp) { var szOnAfterLoginMsg =""; nRet = Number(data.RESULT); //휴면 계정 안내 팝업 if (data.LOGIN_SLEEP == 1) { var szPopUrl = "https://member.afreecatv.com/app/pop_sleep_info.php"; if(nRet == -11) { szPopUrl = szPopUrl+"?second_login=Y"; } window.open(szPopUrl, "login_sleep", "width=404, height=372, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no"); } switch(nRet) { case 1: //스튜디오 , 프릭샷일 경우 로그인에서 방송동의 체크 if(data.notAllowCast == 1){ if( confirm('만 14세 미만 회원의 경우 방송을 진행하시려면 반드시 법정대리인(보호자)의 동의가 필요합니다. \n\n인증을 진행하시겠습니까?') ) { window.open("https://member.afreecatv.com/app/pop_verify_broad_child.php?szCookie="+GetCookie("PdboxTicket"), "", "width=100, height=100, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no"); } else { var expireDate = new Date(); // 새로운 expireDate 객체를 생성하고 expireDate.setDate(expireDate.getDate()-1); // 유효기간의 날짜값을 오늘보다 하루적게(어제) 설정합니다 document.cookie = "PdboxTicket=; path=/; domain=afreecatv.com;expires=" + expireDate.toGMTString()+";"; alert('법정대리인(보호자)의 이용동의를 받지 않는 경우 방송을 하실 수 없습니다.\n\n이용 동의 방법 및 관련 문의사항은\n고객센터 1688-7022 (평일 오전 9시~오후 6시)\nyouth@afreecatv.com \n으로 문의 부탁 드립니다.'); } return; } var szRequestUri = (szAfterLoginPage.indexOf("hidden_app") > 0) ? "" : GetCookie("request_uri"); if(szAfterLoginPage =="" && szRequestUri) { szAfterLoginPage = szRequestUri; } if( szRequestUri ) { var expireDate = new Date(); // 새로운 expireDate 객체를 생성하고 expireDate.setDate(expireDate.getDate()-1); // 유효기간의 날짜값을 오늘보다 하루적게(어제) 설정합니다 document.cookie = "request_uri=; path=/; domain=afreecatv.com;expires=" + expireDate.toGMTString()+";"; } isLogin =true; if(data && data.notChangePwd && isApp == false ) { var url = "https://member.afreecatv.com/app/campaign_pw.php" ,request_uri = getURLParameter(szAfterLoginPage, "request_uri") ,isFromPop = 0 > location.href.indexOf('szFrom=pop') ? false : true ; if( isApp ) { szAfterLoginPage += '&isChangePwd=1'; } else // 설치형 플레이어 비밀번호 변경창 팝업 안함 (자체에서 처리) { if( !isFromPop ) { url += "?request_uri=" + (request_uri ? request_uri : "http://www.afreecatv.com"); } if(parent != window) { if( typeof(data.item) != 'undefined' && typeof(data.comment) != 'undefined' ) { alert( data.comment ); } parent.location.href= url; return; } else { if(location.href.indexOf("szFrom=full") >= 0) { if( typeof(data.item) != 'undefined' && typeof(data.comment) != 'undefined' ) { alert( data.comment ); } location.href= url; return; } else window.open(url); } } } try { if( typeof(parent.layerPopup) == 'function' && typeof(data.item) != 'undefined' ) { parent.layerPopup( data.item ); } else if( typeof(data.item) != 'undefined' && typeof(data.comment) != 'undefined' ) { alert( data.comment ); } } catch(e) { } if(data.showSecondPwd == 1 && data.notChangePwd == undefined && szAfterLoginPage.indexOf("hidden_app") == -1) { var szPopUrl = "https://member.afreecatv.com/app/campaign_second_pw.php"; window.open(szPopUrl, "secondPwd", "width=420, height=550, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no"); } onAfterLoginLogOut(); break; case 0: szOnAfterLoginMsg ="등록되지 않은 아이디이거나, 아이디 또는 비밀번호를 잘못 입력하셨습니다."; alert(szOnAfterLoginMsg); break; case -1: szOnAfterLoginMsg ="등록되지 않은 아이디이거나, 아이디 또는 비밀번호를 잘못 입력하셨습니다."; alert(szOnAfterLoginMsg); break; case -4: var BLACK_TYPE = data.BLACK_TYPE; if(BLACK_TYPE == 'blackclear') { var UID = data.UID; var BLACK_REASON = data.BLACK_REASON; var szPopUrl = "https://member.afreecatv.com/app/pop_black_clear.php?uid="+UID+"&black_reason="+BLACK_REASON; var popup = window.open(szPopUrl, "blackclear", "width=525, height=555, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no"); } else { var BLACK_KEY = data.BLACK_KEY; var szPopUrl = "https://member.afreecatv.com/app/pop_black_info.php?blackKey="+BLACK_KEY; var popup = window.open(szPopUrl, "blackinfo", "width=422, height=482, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no"); } if(popup == null) alert('사이트 팝업 옵션을 항상 허용 후 다시 로그인해 주세요.'); break; case -5: var uid = data.UID; movePage("https://member.afreecatv.com/app/user_delete_progress.php?uid=" + uid); break; case -6: var szLoginID = encodeURI($("#uid").val()); var szPopUrl = "https://login.afreecatv.com/membership/changeMember.php?szWork=realName&id=" + szLoginID; window.open(szPopUrl, "convert", "width=435, height=455, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no").focus(); break; case -7: alert("영문 아프리카TV에서 가입한 계정으로는 한국 아프리카TV 이용이 불가합니다.\nGlobal AfreecaTV account is not allow to use Korea AfreecaTV."); break; case -3 : alert("아이디/패스워드 입력이 잘못되었습니다"); break; case -8 : //alert("부모 동의가 필요합니다."); if( confirm('안녕하세요. 아프리카TV 입니다.\n접속하신 아이디는 만 14세 미만 법정대리인 동의가\n필요한 아이디로써 법정대리인 동의를 받지 않는 경우\n서비스 이용이 불가능합니다. 서비스 이용에 불편함이\n없도록 인증 후 서비스 이용 부탁 드립니다.') ) { var szPopUrl = (/(android|iphone|ipad|ipod)/gi).test(navigator.userAgent) ? 'http://m.afreecatv.com/realname/a/parent/id/' + $('#uid').val() : 'https://member.afreecatv.com/app/pop_verify_self_minor_none_login.php?szCookie='+GetCookie("AF_USER_ID"); window.open(szPopUrl, "convert", "width=435, height=455, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no"); } else { alert('동의를 받지 않는 경우 서비스 이용이\n불가능하며 회원탈퇴 또는 인증방법에\n대해 궁금하신 사항 있으시면\n고객센터 1688-7022 (전화상담)\nyouth@afreecatv.com (메일문의)\n로 문의 부탁 드립니다.'); } break; case -9: var szPopUrl = "https://member.afreecatv.com/app/pop_login_block.php?szUid=" + data.szUid; var popup = window.open(szPopUrl, "loginblock", "width=525, height=555, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no"); if(popup == null) alert('사이트 팝업 옵션을 항상 허용 후 다시 로그인해 주세요.'); break; case -10: alert("서비스 이용에 불편을 드려 죄송합니다.\n회원님 아이디의 비정상적인 로그인(대량 접속 등)이 확인되어 접속이 차단되었습니다.\n정상 서비스 이용을 원하실 경우 고객센터로 문의하시면 신속하게 처리해 드리겠습니다."); break; case -11: var szRequestUri = (szAfterLoginPage.indexOf("hidden_app") > 0) ? "" : GetCookie("request_uri"); if(szAfterLoginPage =="" && szRequestUri) { szAfterLoginPage = szRequestUri; } var request_uri = getURLParameter(szAfterLoginPage, "request_uri"); request_uri = request_uri ? request_uri : "http://www.afreecatv.com"; var secondLoginKey = data.SECOND_LOGIN_KEY; var szIsLoginRetain = data.LOGIN_RETAIN; var nLoginOpt = data.nLoginOpt; if(szAfterLoginPage.indexOf("hidden_app") > 0) { var szReturnUrl = "https://login.afreecatv.com/afreeca/second_login.php?secondLoginKey="+secondLoginKey+"&szFrom=hidden_app" var szSecondLoginUrl = "https://login.afreecatv.com/afreeca/login.php?szFrom=hidden_app_second&request_uri="+encodeURIComponent(szReturnUrl)+"&secondLoginKey="+secondLoginKey+"&nLoginOpt="+nLoginOpt; location.replace(szSecondLoginUrl); } else { location.href = "https://login.afreecatv.com/afreeca/second_login.php?secondLoginKey="+secondLoginKey+"&szFrom="+szFrom+"&LOGIN_RETAIN="+szIsLoginRetain+"&isSaveId="+isSaveId+"&isApp="+szApp+"&action="+szAction+"&request_uri=" + encodeURIComponent(request_uri)+"&nLoginOpt="+nLoginOpt; } break; case -12: var secondLoginKey = data.SECOND_LOGIN_KEY; if(secondLoginKey == undefined) //설정 권유 화면 { top.location.href = "https://member.afreecatv.com/app/user_security.php"; } else //2차 비밀번호 찾기 { location.href = "https://member.afreecatv.com/app/find_security.php?szFrom=full&secondLoginKey="+secondLoginKey; } break; case -33: var szPopUrl = "https://member.afreecatv.com/app/pop_foreign_login_block.php?szUid=" + data.szUid; var popup = window.open(szPopUrl, "foreignLoginBlock", "width==580, height=585, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no"); if(popup == null) alert('사이트 팝업 옵션을 항상 허용 후 다시 로그인해 주세요.'); break; case -37: var uid = data.UID; var szPopUrl = "https://member.afreecatv.com/app/domestic_dormant_account_restore.php?szUid=" + data.szUid; var popup = window.open(szPopUrl, "dormant", "width=525, height=555, toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no"); if(popup == null) alert('사이트 팝업 옵션을 항상 허용 후 다시 로그인해 주세요.'); break; case -32008: alert("로그인에 실패했습니다. 고객센터로 문의해주세요."); break; default: szOnAfterLoginMsg ="로그인에 실패하였습니다.("+ nRet +")"; alert(szOnAfterLoginMsg); break; } //유저함수 try{ onLogin( nRet ,szOnAfterLoginMsg); // 초콜릿팩토리에서 사용함 }catch(e){} } // 로그인 결과 분기 function onAfterSecondLogin(data, isApp) { var szOnAfterLoginMsg =""; nRet = Number(data.RESULT); switch(nRet) { case 1: var szRequestUri = (szAfterLoginPage.indexOf("hidden_app") > 0) ? "" : GetCookie("request_uri"); if(szAfterLoginPage =="" && szRequestUri) { szAfterLoginPage = szRequestUri; } if( szRequestUri ) { var expireDate = new Date(); // 새로운 expireDate 객체를 생성하고 expireDate.setDate(expireDate.getDate()-1); // 유효기간의 날짜값을 오늘보다 하루적게(어제) 설정합니다 document.cookie = "request_uri=; path=/; domain=afreecatv.com;expires=" + expireDate.toGMTString()+";"; } isLogin =true; if(data && data.notChangePwd && isApp == false) { var url = "https://member.afreecatv.com/app/campaign_pw.php" ,request_uri = getURLParameter(szAfterLoginPage, "request_uri") ,isFromPop = 0 > location.href.indexOf('szFrom=pop') ? false : true ; if( isApp ) { szAfterLoginPage += '&isChangePwd=1'; } else // 설치형 플레이어 비밀번호 변경창 팝업 안함 (자체에서 처리) { if( !isFromPop ) { url += "?request_uri=" + (request_uri ? request_uri : "http://www.afreecatv.com"); } if(parent != window) { if( typeof(data.item) != 'undefined' && typeof(data.comment) != 'undefined' ) { alert( data.comment ); } parent.location.href= url; return; } else { if(location.href.indexOf("szFrom=full") >= 0) { if( typeof(data.item) != 'undefined' && typeof(data.comment) != 'undefined' ) { alert( data.comment ); } location.href= url; return; } else window.open(url); } } } try { if( typeof(parent.layerPopup) == 'function' && typeof(data.item) != 'undefined' ) { parent.layerPopup( data.item ); } else if( typeof(data.item) != 'undefined' && typeof(data.comment) != 'undefined' ) { alert( data.comment ); } } catch(e) { } onAfterLoginLogOut(); break; case 0: szOnAfterLoginMsg ="비밀번호를 잘못 입력하셨습니다."; alert(szOnAfterLoginMsg); break; case -1: szOnAfterLoginMsg ="비밀번호를 잘못 입력하셨습니다."; alert(szOnAfterLoginMsg); break; case -4: szOnAfterLoginMsg = "아프리카TV 운영원칙 위반으로 서비스 이용이 정지 되었습니다.\n정지기간 중 주민등록번호 도용 등을 통한 허위아이디 생성으로 동일한 위반행위를\n하실경우, 제재조치와는 별도로 관련법에 의거 법적인 처벌을 받을 수 있습니다."; alert(szOnAfterLoginMsg); break; default: szOnAfterLoginMsg ="로그인에 실패하였습니다.("+ nRet +")"; alert(szOnAfterLoginMsg); break; } //유저함수 try{ onLogin( nRet ,szOnAfterLoginMsg); // 초콜릿팩토리에서 사용함 }catch(e){} } function movePage(url) { if(parent != window) parent.location.href= url; else{ if(location.href.indexOf("szFrom=full") >= 0) location.href= url; else { var popup = window.open(url); if(popup == null){ alert('사이트 팝업 옵션을 항상 허용 후 다시 로그인해 주세요.'); } } } } function getURLParameter(url, name) { var value = (RegExp(name + '=' + '(.+?)(&|$)').exec(url)||[,null])[1]; return value ? decodeURI(value) : ""; } /*********************************************************************/ /* public **********************************************************************/ // 쿠키정보 get /** * @brief PdboxBbs 쿠키를 가져온다 * @param 쿠키명 * @return 쿠키 존재시 쿠키값을 리턴 플래쉬 설치시 플래쉬 이용 */ function GetCookie(name) { var szRet ="" szRet = read_Cookie(name); if( szRet==undefined ) { return ""; } return szRet; } // 유저정보 get(복호화 정보) /** * @brief GetDecInfo 쿠키중에 복호화된 유저정보를 가져온다 플래쉬는 자체 복호화,플래쉬 없을시는 기본 실행시 유저정보 셋팅 * @param szField "uname" "uno" 등 * @return 해당 필드의 값, 없으면 "" */ function GetDecInfo(field) { var szRet ="" try { szRet = aTicket[field]; } catch(e) {} if( szRet==undefined ) { return ""; } return szRet; } //저장되어있는 아이디 /** * @brief GetSaveTicket 쿠키중에 복호화된 유저정보중 저장되어 있는 아이디를 가져온다( 초기 아이디 저장시 필드값 셋팅에 사용 ) * @param null 등 * @return 저장된 아이디, 없으면 "" */ function GetSaveTicket() { //todo 한페이지에서 이용시 엉킬수도 있음 return save_uid; } //아이디 저장 토글 /** * @brief SetSaveId 아이디 저장 값을 토글한다 해당 값은 로그인시도시(GoLogin(...)) 쿠키로 만들어진다 * @param 선언시 true ,아닐시 false * @return null */ function SetSaveId(nVal) { isSaveId = nVal; } /** * @brief 로그아웃을 시도한다 * @param szPage 로긴후 돌릴 페이지 혹은 실행시킬 스크립트 "" 이면 디폴트 페이지로 이동 * @return NULL */ function LogOut( szPage ) { nRet =0; if( !is_null( szPage ) ) { szAfterLoginPage = szPage; } else { szAfterLoginPage = szLogOutDefaultPage; } $.ajax({ url : "https://login.afreecatv.com/app/LoginAction.php", type : "POST", data : { szWork : "logout", szType : "json", szCallBackMethod : escape("") }, dataType : "json", success : function(data,textStatus) { onAfterLogOut(data.RESULT); } }); return nRet; } //아이디,패스워드,돌릴페이지 /** * @brief 로긴을 시도한다(전환정책 때문에 뺌) * @param szUid 아이디 * @param szPassword 패스워드 * @param szPage 로긴후 돌릴 페이지 혹은 실행시킬 스크립트 "" 가능 * @param isApp 단독실행으로 실행시 * @return NULL */ //로긴 시작 function GoLogin( szUid, szPassword, szPage) { // 주민번호 암호화 관련 var nChkJuminPM = chkJuminPM(); if(!nChkJuminPM) { return; } if ( requestRunning ) { return; } requestRunning = true; szAfterLoginPage = szPage; szAction = szAfterLoginPage.indexOf("action=findSecondPwd") >= 0 ? 'findSecondPwd' : szAction; //szPage 는 url 혹은 스크립트 들어감 var nRet=0; if( !is_null(szUid) && !is_null(szPassword) ) { setLoginCook(); $.ajax({ type : "POST", dataType : "jsonp", url : "https://login.afreecatv.com/app/LoginAction.php", //url : "https://member.afreecatv.com/login/LoginAction.php", cache : false, data : { szWork : "login", szType : "json", szUid : szUid, szPassword : szPassword, isSaveId : isSaveId, szScriptVar : "oLoginRet", szAction : szAction, isLoginRetain : $("#log_retain").is(":checked") == true ? 'Y' : 'N', isRetainIgnore : $("#retain_ignore").val(), nLoginOpt : $("#nLoginOpt").val() }, success : function(data,textStatus){ try { doubleSubmitFlag = false; data.szUid = szUid; onAfterLogin(data, isApp()); } catch(e) {} }, complete: function() { requestRunning = false; }, error : function(jqXHR, textStatus, errorThrow){ //alert("Error login_script.php GoLogin() - " + textStatus); //alert("개발 : 로그인에 실패하셨습니다. 잠시 후에 다시 시도해주세요."); return; } }); } return nRet; } //로긴 시작 //아이디,패스워드,돌릴페이지 /** * @brief 로긴을 시도한다 * @param szUid 아이디 * @param szPassword 패스워드 * @param szPage 로긴후 돌릴 페이지 혹은 실행시킬 스크립트 "" 가능 * @param szAction 로긴후 특정 방송 리스트로 이동 * @return NULL */ function GoLoginAction( szUid, szPassword, szPage, szAction ) { // 주민번호 암호화 관련 var nChkJuminPM = chkJuminPM(); if(!nChkJuminPM) { return; } szAfterLoginPage = szPage; //szPage 는 url 혹은 스크립트 들어감 var nRet=0; if(is_null(szUid) || is_null(szPassword) ){ return 0; } setLoginCook(); var url, data, dataType; url = "https://login.afreecatv.com/app/LoginAction.php"; data = { szWork : "login", szUid : szUid, szPassword : encodeURIComponent( szPassword ), isSaveId : isSaveId, szType : "json", szScriptVar : "oLoginRet" }; if(szAction != undefined ) data["szAction"] = szAction; dataType = "jsonp"; $.ajax({ url : url, type : "POST", data : data, dataType : dataType, cache : false, success : function(data,textStatus) { onAfterLogin(data); }, error : function(jqXHR, textStatus, errorThrown){ alert("ERROR login_script.php :: GoLogin() - " + textStatus); } }); } function GoLoginEnc( szEnc, szPage ) { //szPage 는 url 혹은 스크립트 들어감 szAfterLoginPage = szPage,nRet =0 ; $.ajax({ type : "POST", url : "https://login.afreecatv.com/app/LoginAction.php", data : { szWork : "login", szCallBackMethod : "", szEnc : szEnc, szType : "json" }, dataType : "jsonp", cache : false, success : function(data,textStatus){ onAfterLogin(data, isApp()); }, error : function(jqXHR, textStatus, errorThrown){ alert("ERROR login_script.php :: GoLoginEnc() - " + textStatus); } }); nRet =1; return nRet; } function GoSecondLoginEnc( szEnc, szPage ) { //szPage 는 url 혹은 스크립트 들어감 szAfterLoginPage = szPage,nRet =0 ; $.ajax({ type : "POST", url : "https://login.afreecatv.com/app/LoginAction.php", data : { szWork : "second_login", szCallBackMethod : "", szEnc : szEnc, szType : "json" }, dataType : "jsonp", cache : false, success : function(data,textStatus){ onAfterSecondLogin(data, isApp()); }, error : function(jqXHR, textStatus, errorThrown){ alert("ERROR login_script.php :: GoSecondLoginEnc() - " + textStatus); } }); nRet =1; return nRet; } //로그인 여부 /** * @brief ChkLogin 로긴여부를 확인한다 * @param 로그인 되어있을시 돌릴 url 혹은 실행시킬 스크립트 없으면 리턴값을 이용하여 상세코딩 * @return 로그인이 되어있으면 true,아니면 false */ function ChkLogin(szPage) { var nRet =0; if(read_Cookie(szTicketName) ) { nRet =1; if( !is_null( szPage ) ) { if(szPage.substring(0,7)=="http://") { location.href = szPage; } else { eval( szPage ); } } } return nRet; } function ChkAbroad() { return read_Cookie( "AbroadChk" ); } // 로그인 상태 유지 클릭시 이벤트 function login_retain_layer() { if ($("#log_retain").is(":checked")) { $("#log_retain_layer").show(); } else { login_retain_layer_close(); } } // 로그인 상태 유지 x버튼 클릭시 function login_retain_layer_close() { $("#log_retain_layer").hide(); } //ie 체크 function isIE(){ return (navigator.userAgent.toLowerCase().indexOf('msie') !== -1 || navigator.userAgent.toLowerCase().indexOf('trident') !== -1); } /** *SNS 로그인용 connect */ function connect(params, display) { var url = "https://login.afreecatv.com/afreeca/connect.php"; //ie 이면서 애플로그인 이면 if(isIE() && params['sns_code']==20){ alert('애플 로그인은 Chrome, Edge 브라우저를 이용해주세요.'); return; } if(params) url += "?" + $.param(params); var left = (0 + window.screenX); // IE에서 현재 모니터의 좌상단에 출력시키기 위함(모니터 여러개 쓰는 경우 대비) // weChat 때문에 사이즈 변경 var options = 'resizable=1,scrollbars=yes,width=600,height=540,left='+left+',top=0'; window.name = 'popupParent'; var pop = window.open(url, 'connect_sns', options); if(pop) pop.focus(); } //해외이용자여부 /** * @brief ChkAbroad 해외 이용자 여부(아프리카TV만 해당) * @param null * @return 쿠키 존재시 쿠키값인 "OK","FAIL" 등이 리턴되며 쿠키가 존재하지 않으면 ""을 리턴한다 */ function ChkAbroad() { return read_Cookie( "AbroadChk" ); } var szLoginForm = ""; szLoginForm ="" +"
" +"" +"" +"" +"" +"" +"" +"" +"
"; document.write( szLoginForm ); var szHiddenLogin ="" +"
" +"" +"" +"" +"" +"
"; document.write( szHiddenLogin );