56 lines
No EOL
1.8 KiB
JavaScript
56 lines
No EOL
1.8 KiB
JavaScript
|
|
function initializeBodyData() {
|
|
if (checkUserLoggedIn()) {
|
|
fetchBaseData();
|
|
}
|
|
else {
|
|
document.getElementsByTagName('body')[0].dataset.loaded = "true";
|
|
}
|
|
}
|
|
|
|
function fetchBaseData() {
|
|
var xmlhttp;
|
|
if (window.XMLHttpRequest) {
|
|
xmlhttp = new XMLHttpRequest();
|
|
} else {
|
|
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
|
}
|
|
xmlhttp.onreadystatechange = function() {
|
|
if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
|
|
var json = JSON.parse(xmlhttp.responseText);
|
|
if (json.token) {
|
|
removeExistingCSRF();
|
|
}
|
|
var meta = document.createElement('meta');
|
|
var metaTag = document.querySelector("meta[name='csrf-token']");
|
|
meta.name = "csrf-param";
|
|
meta.content = json.param;
|
|
document.getElementsByTagName('head')[0].appendChild(meta);
|
|
var meta = document.createElement('meta');
|
|
meta.name = "csrf-token";
|
|
meta.content = json.token;
|
|
document.getElementsByTagName('head')[0].appendChild(meta);
|
|
document.getElementsByTagName('body')[0].dataset.user = json.user;
|
|
document.getElementsByTagName('body')[0].dataset.loaded = "true";
|
|
browserStoreCache("set",json.user)
|
|
setTimeout(function(){
|
|
if (typeof ga === "function") {
|
|
ga('set', 'userId', JSON.parse(json.user).id);
|
|
}
|
|
},400)
|
|
}
|
|
};
|
|
var timeString = (Date.now()).toString();
|
|
xmlhttp.open("GET", "/async_info/base_data", true);
|
|
xmlhttp.send();
|
|
}
|
|
|
|
|
|
function removeExistingCSRF(){
|
|
var csrfTokenMeta = document.querySelector("meta[name='csrf-token']");
|
|
var csrfParamMeta = document.querySelector("meta[name='csrf-param']");
|
|
if (csrfTokenMeta && csrfParamMeta) {
|
|
csrfTokenMeta.parentNode.removeChild(csrfTokenMeta);
|
|
csrfParamMeta.parentNode.removeChild(csrfParamMeta);
|
|
}
|
|
} |