201 lines
6.7 KiB
HTML
201 lines
6.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>{{ head_title }}</title>
|
|
<meta name="title" content="{{ head_title }}">
|
|
<meta name="description" content="{{ head_desc }}">
|
|
<meta name="keywords" content="{{ head_keywords }}">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<meta name="twitter:card" content="summary_large_image">
|
|
<meta name="twitter:site" content="@GranblueParty">
|
|
<meta name="twitter:creator" content="@GranblueParty">
|
|
<meta name="twitter:title" content="{{ head_title }}">
|
|
<meta name="twitter:description" content="{{ head_desc }}">
|
|
<meta name="twitter:image" content="{{ head_image }}">
|
|
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:title" content="{{ head_title }}">
|
|
<meta property="og:description" content="{{ head_desc }}">
|
|
<meta property="og:image" content="{{ head_image }}">
|
|
<meta property="og:image:width" content="600">
|
|
<meta property="og:image:height" content="600">
|
|
<meta property="og:url" content="{{ head_path }}">
|
|
|
|
<link rel="canonical" href="{{ head_path }}">
|
|
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
|
|
<link rel="icon" href="/favicon.png" type="image/png">
|
|
<link rel="icon" sizes="32x32" href="/favicon-32.png" type="image/png">
|
|
<link rel="icon" sizes="64x64" href="/favicon-64.png" type="image/png">
|
|
<link rel="icon" sizes="96x96" href="/favicon-96.png" type="image/png">
|
|
|
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-2769716391947040" crossorigin="anonymous"></script>
|
|
|
|
<!-- Quantcast Choice. Consent Manager Tag v2.0 (for TCF 2.0) -->
|
|
<script type="text/javascript" async=true>
|
|
(function() {
|
|
var host = 'granblue.party';
|
|
var element = document.createElement('script');
|
|
var firstScript = document.getElementsByTagName('script')[0];
|
|
var url = 'https://cmp.inmobi.com'
|
|
.concat('/choice/', 'pyeNsBYmDqcpe', '/', host, '/choice.js?tag_version=V2');
|
|
var uspTries = 0;
|
|
var uspTriesLimit = 3;
|
|
element.async = true;
|
|
element.type = 'text/javascript';
|
|
element.src = url;
|
|
|
|
firstScript.parentNode.insertBefore(element, firstScript);
|
|
|
|
function makeStub() {
|
|
var TCF_LOCATOR_NAME = '__tcfapiLocator';
|
|
var queue = [];
|
|
var win = window;
|
|
var cmpFrame;
|
|
|
|
function addFrame() {
|
|
var doc = win.document;
|
|
var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]);
|
|
|
|
if (!otherCMP) {
|
|
if (doc.body) {
|
|
var iframe = doc.createElement('iframe');
|
|
|
|
iframe.style.cssText = 'display:none';
|
|
iframe.name = TCF_LOCATOR_NAME;
|
|
doc.body.appendChild(iframe);
|
|
} else {
|
|
setTimeout(addFrame, 5);
|
|
}
|
|
}
|
|
return !otherCMP;
|
|
}
|
|
|
|
function tcfAPIHandler() {
|
|
var gdprApplies;
|
|
var args = arguments;
|
|
|
|
if (!args.length) {
|
|
return queue;
|
|
} else if (args[0] === 'setGdprApplies') {
|
|
if (
|
|
args.length > 3 &&
|
|
args[2] === 2 &&
|
|
typeof args[3] === 'boolean'
|
|
) {
|
|
gdprApplies = args[3];
|
|
if (typeof args[2] === 'function') {
|
|
args[2]('set', true);
|
|
}
|
|
}
|
|
} else if (args[0] === 'ping') {
|
|
var retr = {
|
|
gdprApplies: gdprApplies,
|
|
cmpLoaded: false,
|
|
cmpStatus: 'stub'
|
|
};
|
|
|
|
if (typeof args[2] === 'function') {
|
|
args[2](retr);
|
|
}
|
|
} else {
|
|
if(args[0] === 'init' && typeof args[3] === 'object') {
|
|
args[3] = Object.assign(args[3], { tag_version: 'V2' });
|
|
}
|
|
queue.push(args);
|
|
}
|
|
}
|
|
|
|
function postMessageEventHandler(event) {
|
|
var msgIsString = typeof event.data === 'string';
|
|
var json = {};
|
|
|
|
try {
|
|
if (msgIsString) {
|
|
json = JSON.parse(event.data);
|
|
} else {
|
|
json = event.data;
|
|
}
|
|
} catch (ignore) {}
|
|
|
|
var payload = json.__tcfapiCall;
|
|
|
|
if (payload) {
|
|
window.__tcfapi(
|
|
payload.command,
|
|
payload.version,
|
|
function(retValue, success) {
|
|
var returnMsg = {
|
|
__tcfapiReturn: {
|
|
returnValue: retValue,
|
|
success: success,
|
|
callId: payload.callId
|
|
}
|
|
};
|
|
if (msgIsString) {
|
|
returnMsg = JSON.stringify(returnMsg);
|
|
}
|
|
if (event && event.source && event.source.postMessage) {
|
|
event.source.postMessage(returnMsg, '*');
|
|
}
|
|
},
|
|
payload.parameter
|
|
);
|
|
}
|
|
}
|
|
|
|
while (win) {
|
|
try {
|
|
if (win.frames[TCF_LOCATOR_NAME]) {
|
|
cmpFrame = win;
|
|
break;
|
|
}
|
|
} catch (ignore) {}
|
|
|
|
if (win === window.top) {
|
|
break;
|
|
}
|
|
win = win.parent;
|
|
}
|
|
if (!cmpFrame) {
|
|
addFrame();
|
|
win.__tcfapi = tcfAPIHandler;
|
|
win.addEventListener('message', postMessageEventHandler, false);
|
|
}
|
|
};
|
|
|
|
makeStub();
|
|
|
|
var uspStubFunction = function() {
|
|
var arg = arguments;
|
|
if (typeof window.__uspapi !== uspStubFunction) {
|
|
setTimeout(function() {
|
|
if (typeof window.__uspapi !== 'undefined') {
|
|
window.__uspapi.apply(window.__uspapi, arg);
|
|
}
|
|
}, 500);
|
|
}
|
|
};
|
|
|
|
var checkIfUspIsReady = function() {
|
|
uspTries++;
|
|
if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) {
|
|
console.warn('USP is not accessible');
|
|
} else {
|
|
clearInterval(uspInterval);
|
|
}
|
|
};
|
|
|
|
if (typeof window.__uspapi === 'undefined') {
|
|
window.__uspapi = uspStubFunction;
|
|
var uspInterval = setInterval(checkIfUspIsReady, 6000);
|
|
}
|
|
})();
|
|
</script>
|
|
<!-- End Quantcast Choice. Consent Manager Tag v2.0 (for TCF 2.0) -->
|
|
</head>
|
|
<body class="leading-normal tracking-normal font-sans">
|
|
<!--vue-ssr-outlet-->
|
|
</body>
|
|
</html> |