“Democracy is returning to SYRIZA”, said Stefanos Kasselakis, earlier in his new post about yesterday’s elections, in which he announces “the consolidated results in the country and by region, based on the minutes of the electoral commissions in the OM where elections were held on 2 and November 3, for the nomination of the congressmen who will participate in the upcoming SYRIZA-PS congress”. According to Stefanos Kasselakis, the first consolidated results are as follows:
Greece total:
1983 – 1538
56,32% – 43,68%
Regions:
Attica: 805-532
Central Macedonia: 267-195
Peloponnese: 126-70
Crete: 148-142
Central Greece: 97-44
Thessaly: 95-93
Rev. Macedonia-Thrace: 66-53
Western Greece: 140-163
Epirus: 72-86
Western Macedonia: 52-53
North Aegean: 33-15
South Aegean: 47-30
Ionians: 23-58
Expatriates*: 12-4
*The count has not been completed.
Voridis: SYRIZA abolished the criminal offense of providing alcohol to minors
ERGANI: The amount of wages in the sectors with the greatest employment – Where there is a greater increase [πίνακες]
Holargos: “I stabbed him because he had been abusing me since I was 5 years old,” the 34-year-old, former member of the Cores of Fire, told the police
Heating allowance: When the myHeating platform opens – Beneficiaries
Takis Theodorikakos: Extending the price reduction to new codes and extending the duration of the initiative
Marinakis: PASOK’s “no” to the government’s initiatives is a “no” to the Greek people – The reduction of the minimum wage will be prohibited by law
/* — PerfOps by Nuevvo (nuevvo.com) — */
// Utilities
const allScripts = document.getElementsByTagName(‘script’);
window.lst = allScripts[allScripts.length – 1];
window.isMobile=(function() {var ua=navigator.userAgent||navigator.vendor||window.opera;return ((/Android/i).test(ua) && (/Mobile/i).test(ua)) || (/BlackBerry|iPhone|iPod|Opera Mini|IEMobile/i).test(ua);})();
function asyncLoadScript(url) {
var alScript = document.createElement(‘script’);
alScript.src = url;
alScript.async = true;
//window.lst.parentNode.insertBefore(alScript, window.lst);
document.body.appendChild(alScript);
}
function asyncLoadModule(url) {
var alScript = document.createElement(‘script’);
alScript.src = url;
alScript.type=”module”;
//window.lst.parentNode.insertBefore(alScript, window.lst);
document.body.appendChild(alScript);
}
function displaySlot(id) {
if (document.querySelector(‘#’+id)) {
googletag.display(id);
}
}
// Fix OCM JS errors
window.defineSlots = function(t, r){};
/*! instant.page v5.2.0 – (C) 2019-2023 Alexandre Dieulot – */
(function(){
let t,e,n,o,i,a=null,s=65,c=new Set;const r=1111;function d
})();
// InMobi Choice. Consent Manager Tag v3.0 (for TCF 2.2)
setTimeout(() => {
var host=”eleftherostypos.gr”;var element=document.createElement(‘script’);var firstScript=document.getElementsByTagName(‘script’)[0];var url=” 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: ‘V3′ });}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 0) {
//asyncLoadScript(‘
adSenseSlots.forEach(function(e){
});
}
// Phaistos Adman
//asyncLoadScript(‘
window.AdmanQueue=window.AdmanQueue||[];
AdmanQueue.push(function(){Adman.adunit({id:338,h:’
// OneSignal
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(function(OneSignal) {
OneSignal.init({
appId: “487cc53b-3b66-4f84-8803-3a3a133043ab”,
});
});
// Disqus
var disqus_config = function() {
this.page.url=”
this.page.identifier = 1558432;
};
setTimeout(function(){
(function() {
var d = document,
s = d.createElement(‘script’);
s.src=”
s.setAttribute(‘data-timestamp’, +new Date());
(d.head || d.body).appendChild(s);
})();
}, 3000);
function cmpActionCompleted() {
// OCM & DFP
//asyncLoadScript(‘
asyncLoadScript(‘
asyncLoadScript(‘
/*
// CleverCore
(function(document, window) {
var a, c = document.createElement(“script”);
c.id = “CleverCoreLoader57097″;
c.src = ”
c.async = !0;
c.type = “text/javascript”;
c.setAttribute(“data-target”, window.name);
c.setAttribute(“data-callback”, “put-your-callback-macro-here”);
try {
a = parent.document.getElementsByTagName(“script”)[0] || document.getElementsByTagName(“script”)[0];
} catch (e) {
a = !1;
}
a || (a = document.getElementsByTagName(“head”)[0] || document.getElementsByTagName(“body”)[0]);
a.parentNode.insertBefore(c, a);
})(document, window);
*/
// Taboola/Project Agora
asyncLoadScript(‘
asyncLoadScript(‘
// For Google AdSense
if (document.querySelectorAll(‘.adsbygoogle’).length) {
asyncLoadScript(‘
}
// Phaistos Adman
asyncLoadScript(‘
// Glomex
if (document.querySelectorAll(‘glomex-integration’).length) {
setTimeout(function(){
asyncLoadModule(‘
}, 2000);
}
// Dalecta
setTimeout(() => asyncLoadScript(‘ 800);
// Vidoomy
//asyncLoadScript(‘
// Weather
setTimeout(() => asyncLoadScript(‘ 1000);
/*
// Facebook Pixel
!function(f, b, e, v, n, t, s) {
if (f.fbq) return;
n = f.fbq = function() {
n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments)
};
if (!f._fbq) f._fbq = n;
n.push = n;
n.loaded = !0;
n.version = ‘2.0’;
n.queue = [];
t = b.createElement(e);
t.async = !0;
t.src = v;
s = b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t, s)
}(window, document, ‘script’, ‘
fbq(‘init’, ‘618972382017166’);
fbq(‘track’, ‘PageView’);
*/
// OneSignal
setTimeout(() => asyncLoadScript(‘ 5000);
}
// Microsoft Clarity
(function(c,l,a,r,i,t,y){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};t=l.createElement(r);t.async=1;t.src=”https://www.clarity.ms/tag/”+i+”?ref=wordpress”;y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);})(window, document, “clarity”, “script”, “l14tw277rg”);
// Yandex Metrica
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();for(var j=0;j<document.scripts.length;j++){if(document.scripts[j].src===r){return;}}k=e.createElement
#Stefanos #Kasselakis #majority #congress #Society #react #candidate
OneSignal Web push notification example
It looks like you’ve pasted a snippet of JavaScript code that handles various ad and tracking integrations on a website. This code seems to asynchronously load different scripts for services like Google AdSense, OneSignal, Disqus, and others.
Here’s a summary of what the code does, along with some improvements and best practices:
1. **AdSense Handling:**
– The code filters out AdSense ads marked for mobile, removing them if a certain condition is met.
– It counts the number of AdSense slots present and processes them if there are any.
2. **Loading External Scripts:**
– There’s a pattern used to load external scripts (like Adman, OneSignal, Disqus, CleverCore, Taboola, etc.) using a hypothetical `asyncLoadScript()` function.
– Most of the script loading occurs inside `setTimeout` functions to handle potential delays in availability.
3. **OneSignal Initialization:**
– It initializes the OneSignal service with a specific `appId`.
4. **Disqus Configuration:**
– It sets up configuration for the Disqus comments system, including page URL and identifier, and then loads the Disqus script with a timeout.
5. **General Script Loading:**
– The code contains commented-out sections for other ad networks and services, suggesting that there might be conditional loading based on the site’s configurations or user behaviors.
### Recommendations & Improvements:
– **Error Handling**: Consider adding error handling for script loading. Currently, if a script fails to load, it may not be clear to the developer that an issue occurred.
– **Function Definitions**: Ensure that `asyncLoadScript()` and `asyncLoadModule()` functions are defined properly elsewhere in your codebase. It’s not visible in the provided snippet.
– **Static Analysis**: Use tools like ESLint for static analysis to catch syntax errors or coding standard violations.
– **Minimize Global Pollution**: If possible, encapsulate your script in an IIFE (Immediately Invoked Function Expression) to avoid polluting the global namespace.
– **Comment Clarity**: Ensure that comments accurately describe the purpose of blocks of code. Some comments indicate sections to be implemented later (marked by asyncLoadScript(‘), so it’s good to clarify your intentions.
Here’s a slightly cleaned-up excerpt of the approach you might take:
“`javascript
// Remove adsense for mobile if any condition not met
if(someCondition) {
document.querySelectorAll(‘.adsense-for-mobile’).forEach(function(e) {
e.querySelector(‘.adsbygoogle’)?.remove();
});
}
const adSenseSlots = document.querySelectorAll(‘.adsbygoogle’);
if (adSenseSlots.length > 0) {
adSenseSlots.forEach(function(slot) {
// Handle the adsense slots logic here
});
}
// Initialize OneSignal
window.OneSignalDeferred = window.OneSignalDeferred || [];
OneSignalDeferred.push(function(OneSignal) {
OneSignal.init({
appId: “487cc53b-3b66-4f84-8803-3a3a133043ab”,
});
});
// Disqus Configuration
var disqus_config = function() {
this.page.url = “”; // You might want to dynamically populate this
this.page.identifier = 1558432;
};
setTimeout(function() {
const d = document;
const s = d.createElement(‘script’);
s.src = ””; // Put the Disqus script URL here
s.setAttribute(‘data-timestamp’, +new Date());
(d.head || d.body).appendChild(s);
}, 3000);
// Further async script loading can be defined here as needed…
})(document, window);
“`
Adjust the extracted code as per your application’s specific requirements and ensure that the parts with placeholder URLs and conditions are dynamically populated or handled based on your business logic.