first
This commit is contained in:
@@ -0,0 +1,229 @@
|
||||
|
||||
<script type="text/javascript">
|
||||
'use strict';
|
||||
|
||||
function __removeHash () {
|
||||
var scrollV, scrollH, loc = window.location;
|
||||
if ("pushState" in history)
|
||||
history.pushState("", document.title, loc.pathname + loc.search);
|
||||
else {
|
||||
// Prevent scrolling by storing the page's current scroll offset
|
||||
scrollV = document.body.scrollTop;
|
||||
scrollH = document.body.scrollLeft;
|
||||
|
||||
loc.hash = "";
|
||||
|
||||
// Restore the scroll offset, should be flicker free
|
||||
document.body.scrollTop = scrollV;
|
||||
document.body.scrollLeft = scrollH;
|
||||
}
|
||||
}
|
||||
|
||||
function getJsonFromUrl (url) {
|
||||
__removeHash ()
|
||||
if(!url) url = location.href;
|
||||
var question = url.indexOf("?");
|
||||
var hash = url.indexOf("#");
|
||||
if(hash==-1 && question==-1) return {};
|
||||
if(hash==-1) hash = url.length;
|
||||
var query = question==-1 || hash==question+1 ? url.substring(hash) :
|
||||
url.substring(question+1,hash);
|
||||
var result = {};
|
||||
query.split("&").forEach(function(part) {
|
||||
if(!part) return;
|
||||
part = part.split("+").join(" "); // replace every + with space, regexp-free version
|
||||
var eq = part.indexOf("=");
|
||||
var key = eq>-1 ? part.substr(0,eq) : part;
|
||||
var val = eq>-1 ? decodeURIComponent(part.substr(eq+1)) : "";
|
||||
var from = key.indexOf("[");
|
||||
if(from==-1) result[decodeURIComponent(key)] = val;
|
||||
else {
|
||||
var to = key.indexOf("]",from);
|
||||
var index = decodeURIComponent(key.substring(from+1,to));
|
||||
key = decodeURIComponent(key.substring(0,from));
|
||||
if(!result[key]) result[key] = [];
|
||||
if(!index) result[key].push(val);
|
||||
else result[key][index] = val;
|
||||
}
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
function doSignin (tag) {
|
||||
|
||||
var getParams = getJsonFromUrl()
|
||||
var xCommFlag = (typeof xCommApp == 'object')
|
||||
var nextUrl = ''
|
||||
|
||||
switch (tag) {
|
||||
|
||||
case 'google':
|
||||
nextUrl = '/signin/google' + (getParams['loc'] ? '?loc=' + encodeURIComponent(getParams['loc']) : '')
|
||||
break;
|
||||
|
||||
case 'facebook':
|
||||
nextUrl = '/signin/facebook' + (getParams['loc'] ? '?loc=' + encodeURIComponent(getParams['loc']) : '')
|
||||
break;
|
||||
|
||||
case 'kakao':
|
||||
nextUrl = '/signin/kakao' + (getParams['loc'] ? '?loc=' + encodeURIComponent(getParams['loc']) : '')
|
||||
break;
|
||||
|
||||
case 'apple':
|
||||
nextUrl = '/signin/apple' + (getParams['loc'] ? '?loc=' + encodeURIComponent(getParams['loc']) : '')
|
||||
break;
|
||||
|
||||
|
||||
}
|
||||
|
||||
console.log('in doSignin(), tag = ', tag)
|
||||
console.log('in doSignin(), getParams = ', getParams)
|
||||
console.log('in doSignin(), xCommFlag = ', xCommFlag)
|
||||
console.log('in doSignin(), nextUrl = ', nextUrl)
|
||||
|
||||
if (nextUrl == '') {
|
||||
alert('error! unknown signin tag : ' + tag)
|
||||
} else {
|
||||
if (xCommFlag == true && tag == 'google') {
|
||||
var toAppMessage = {
|
||||
cmd: 'local/op',
|
||||
target: 'signin',
|
||||
tag: tag,
|
||||
}
|
||||
xCommApp.postMessage(JSON.stringify(toAppMessage))
|
||||
} else {
|
||||
window.location.href = nextUrl
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function setCookie(name,value,days) {
|
||||
var expires = "";
|
||||
if (days) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime() + (days*24*60*60*1000));
|
||||
expires = "; expires=" + date.toUTCString();
|
||||
}
|
||||
document.cookie = name + "=" + (value || "") + expires + "; path=/";
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for(var i=0;i < ca.length;i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0)==' ') c = c.substring(1,c.length);
|
||||
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function eraseCookie(name) {
|
||||
document.cookie = name+'=; Max-Age=-99999999;';
|
||||
}
|
||||
|
||||
function makeRandomID (len) {
|
||||
var text = "";
|
||||
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
||||
|
||||
for (var i = 0; i < len; i++)
|
||||
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
var uid = 'anonymous'
|
||||
var randomID = null
|
||||
|
||||
|
||||
|
||||
function reportToServer (tag, data) {
|
||||
if (randomID === null) {
|
||||
var randomIDCookieName = 'init_003'
|
||||
var randomIDCookie = getCookie(randomIDCookieName)
|
||||
|
||||
if (randomIDCookie === null) {
|
||||
randomID = makeRandomID(8)
|
||||
} else {
|
||||
randomID = randomIDCookie
|
||||
}
|
||||
setCookie(randomIDCookieName, randomID, 3)
|
||||
}
|
||||
|
||||
var repotData = {
|
||||
tag: tag,
|
||||
randomID: randomID
|
||||
}
|
||||
|
||||
switch (tag) {
|
||||
case 'stat_done':
|
||||
case 'stat_error':
|
||||
case 'stat_stopped':
|
||||
repotData.fileInfo = data.remote.fileInfo
|
||||
repotData.hashElapsedTime = data.hashElapsedTime ? data.hashElapsedTime : 'N/A'
|
||||
repotData.uploadElapsedTime = data.uploadElapsedTime ? data.uploadElapsedTime : 'N/A'
|
||||
repotData.statElapsedTime = data.statElapsedTime ? data.statElapsedTime : 'N/A'
|
||||
repotData.totalElapsedTime = data.totalElapsedTime ? data.totalElapsedTime : 'N/A'
|
||||
repotData.statMesureInfo = data.statMesureInfo ? data.statMesureInfo : 'N/A'
|
||||
repotData.statMesureInfo.start = undefined
|
||||
repotData.statMesureInfo.end = undefined
|
||||
break;
|
||||
|
||||
case 'page_load':
|
||||
repotData.url = data.url
|
||||
repotData.documentReadyElapsedTime = data.documentReadyElapsedTime ? data.documentReadyElapsedTime : 'N/A'
|
||||
repotData.windowLoadElapsedTime = data.windowLoadElapsedTime ? data.windowLoadElapsedTime : 'N/A'
|
||||
break;
|
||||
|
||||
case 'dev_no_report':
|
||||
repotData = null
|
||||
break;
|
||||
|
||||
default:
|
||||
repotData.raw = data
|
||||
|
||||
}
|
||||
if (repotData !== null) {
|
||||
axios.post('/report?tag=' + tag, repotData, { withCredentials: true })
|
||||
.then(function (response) {
|
||||
// console.log('report response from axios:', response)
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.error('report response from axios. errro =', error)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function addWindowOnloadEvent(func) {
|
||||
var oldWindowOnload = window.onload;
|
||||
if (typeof func === 'function') {
|
||||
if (typeof window.onload === 'function') {
|
||||
window.onload = function () {
|
||||
oldWindowOnload();
|
||||
func();
|
||||
}
|
||||
} else {
|
||||
window.onload = func;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
addWindowOnloadEvent(function () {
|
||||
pageLoadingInfo.windowLoadAt = Date.now();
|
||||
pageLoadingInfo.windowLoadElapsedTime = (pageLoadingInfo.windowLoadAt - pageLoadingInfo.timerInitAt) / 1000
|
||||
// console.log('window.onload(), pageLoadingInfo=', pageLoadingInfo)
|
||||
reportToServer('page_load', pageLoadingInfo)
|
||||
})
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
|
||||
|
||||
<script src="/admindek/js/rocket-loader.min.js" data-cf-settings="f4ce04a230934521555bcbbf-|49" defer=""></script>
|
||||
Reference in New Issue
Block a user