Discussion:Perdu.com/Archives
Dernier commentaire : il y a 6 mois par Irønie dans le sujet Modification du code source de perdu.com
Autres discussions [liste]
- Admissibilité
- Neutralité
- Droit d'auteur
- Article de qualité
- Bon article
- Lumière sur
- À faire
- Archives
- Commons
Untitled
modifierDepuis quand faut il sourcer qu'un site est une blague ? Vous voulez une source qui dise "C'est un site facétieux " ? C'est ridicule. Tieum512 BlaBla 9 décembre 2008 à 14:10 (CET)
- Quand je vois une demande de ref de ce genre, j'ai du mal à savoir s'il s'agit d'un sourceur extrémiste ou de quelqu'un qui parodie les sourceurs extrémistes. BOCTAOE. Ou pas. Barraki Retiens ton souffle! 9 décembre 2008 à 14:12 (CET)
- C'est aucun des deux, juste quelqu'un qui ne comprend pas l'humour -- Kyro Tok Tou Mi le 9 décembre 2008 à 14:13 (CET)
Modification du code source de perdu.com
modifierDepuis un certain temps (quand ?) le code source de la page fait apparaître une section <script type="text/javascript">...</script>. Serait-ce mon FAI qui ajouterait ce code à mon insu ou bien est-ce le code qui a réellement changé ? — Le message qui précède, non signé, a été déposé par Chapouvalpin (discuter), le 13 mai 2014 à 19:01 CEST
- Chez moi aussi… Ce code illisible n'apparaît pas, par contre, dans le code source du petit frère perdus.com — KiwiNeko14 …Causettes ?… 13 mai 2014 à 20:38 (CEST)
Pas si illisible que ça :
//<![CDATA[ ( function(){ var d=encodeURIComponent, f=window, g=document, h="documentElement", k="length", l="prototype", m="body", p="&", s="&ci=", t=",", u="?", v="Content-Type", w="Microsoft.XMLHTTP", x="Msxml2.XMLHTTP", y="POST", z="application/x-www-form-urlencoded", A="img",B="input",C="load", D="oh=",E="on",F="pagespeed_url_hash",G="url="; f.pagespeed=f.pagespeed||{}; var H=f.pagespeed,I=function(a,b,c){ this.c=a; this.e=b;this.d=c;this.b=this.f(); this.a={} }; I[l].f=function(){ return{ height:f.innerHeight||g[h].clientHeight||g[m].clientHeight,width:f.innerWidth||g[h].clientWidth||g[m].clientWidth } }; I[l].g=function(a){ a=a.getBoundingClientRect(); return{ top: a.top+(void 0!==f.pageYOffset?f.pageYOffset:(g[h]||g[m].parentNode||g[m]).scrollTop), left: a.left+(void 0!==f.pageXOffset?f.pageXOffset:(g[h]||g[m].parentNode||g[m]).scrollLeft) } }; I[l].h=function(a){ if(0>=a.offsetWidth&&0>=a.offsetHeight) return!1; a=this.g(a); var b=a.top.toString()+t+a.left.toString(); if(this.a.hasOwnProperty(b)) return!1; this.a[b]=!0; return a.top<=this.b.height&&a.left<=this.b.width }; I[l].i=function(a){ var b; if(f.XMLHttpRequest) b=new XMLHttpRequest; else if(f.ActiveXObject) try{ b=new ActiveXObject(x) } catch(c) { try { b=new ActiveXObject(w) } catch(e){} } if(!b) return!1; b.open(y,this.c+(-1==this.c.indexOf(u)?u:p)+G+d(this.e)); b.setRequestHeader(v,z); b.send(a); return!0 }; I[l].k=function(){ for(var a=[A,B],b=[],c={},e=0;e<a[k];++e) for(var q=g.getElementsByTagName(a[e]),n=0;n<q[k];++n){ var r=q[n].getAttribute(F); r&&(q[n].getBoundingClientRect&&this.h(q[n]))&&!(r in c)&&(b.push(r),c[r]=!0) } if(0!=b[k]){ a=D+this.d;a+=s+d(b[0]); for(e=1;e<b[k];++e){c=t+d(b[e]);if(131072<a[k]+c[k])break; a+=c }H.criticalImagesBeaconData=a;this.i(a)}};H.j=function(a,b,c){ if(a.addEventListener) a.addEventListener(b,c,!1); else if(a.attachEvent) a.attachEvent(E+b,c); else{ var e=a[E+b];a[E+b]=function(){ c.call(this);e&&e.call(this) } } }; H.l=function(a,b,c){ var e=new I(a,b,c); H.j( f, C, function(){ f.setTimeout(function(){e.k()},0) } ) }; H.criticalImagesBeaconInit=H.l; } )(); pagespeed.criticalImagesBeaconInit('/mod_pagespeed_beacon','http://www.perdu.com/','yT-lkVeHbT'); //]]>
Par contre, ce que ça fait… asr (discuter) 17 juillet 2014 à 14:19 (CEST)
- En remplaçant les noms des variables par ce qui est disponible en code et les noms de méthodes par un bla+descriptif de ce qui y est fait, il me semble s'agir d'envoyer une requête vers un service d'instrumentation (mod_pagespeed_beacon) pouvant inclure des données de dimension (page, corps de page, éléments).
//<![CDATA[ ( function () { window.pagespeed = window.pagespeed || {}; //Assure l'initialisation de l'objet window.pagespeed var viewModel = function (mod_pagespeed_beacon, url, key) { this.mod_pagespeed_beacon = mod_pagespeed_beacon; this.url = url; this.key = key; this.blaWidthHeightResultat = this.blaWidthHeight(); this.elementsTopLeft = {} }; viewModel.prototype.blaWidthHeight = function () { return { height: window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight, width: window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth } }; viewModel.prototype.blaClientBound = function (element) { boundingClientRect = element.getBoundingClientRect(); return { top: boundingClientRect.top + (void 0 !== window.pageYOffset ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop), left: boundingClientRect.left + (void 0 !== window.pageXOffset ? window.pageXOffset : (document.documentElement || document.body.parentNode || document.body).scrollLeft) } }; viewModel.prototype.blaElementSize = function (element) { if (0 >= element.offsetWidth && 0 >= element.offsetHeight) return !1; element = this.blaClientBound(element); var elementTopLeft = element.top.toString() + "," + element.left.toString(); if (this.elementsTopLeft.hasOwnProperty(elementTopLeft)) return !1; this.elementsTopLeft[elementTopLeft] = !0; return element.top <= this.blaWidthHeightResultat.height && element.left <= this.blaWidthHeightResultat.width }; viewModel.prototype.blaSendRequest = function (criticalImagesBeaconData) { var request; if (window.XMLHttpRequest) request = new XMLHttpRequest; else if (window.ActiveXObject) try { request = new ActiveXObject("Msxml2.XMLHTTP") } catch (c) { try { request = new ActiveXObject("Microsoft.XMLHTTP") } catch (e) { } } if (!request) return !1; request.open("POST", this.mod_pagespeed_beacon + (-1 == this.mod_pagespeed_beacon.indexOf("?") ? "?" : "&") + "url=" + encodeURIComponent(this.url)); request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); request.send(criticalImagesBeaconData); return !0 }; viewModel.prototype.blaImage = function () { for (var elements = ["img", "input"], pagespeedAttributes = [], c = {}, eIndex = 0; eIndex < elements.length; ++eIndex) for (var elementsByTagName = document.getElementsByTagName(elements[eIndex]), nIndex = 0; nIndex < elementsByTagName.length; ++nIndex) { var pagespeedAttribute = elementsByTagName[nIndex].getAttribute("pagespeed_url_hash"); pagespeedAttribute && ( elementsByTagName[nIndex].getBoundingClientRect && this.blaElementSize(elementsByTagName[nIndex]) ) && !( pagespeedAttribute in c ) && ( pagespeedAttributes.push(pagespeedAttribute), c[pagespeedAttribute] = !0 ) //Chaque "&&" conditionne l'appel au reste de la ligne : dès qu'une opération est "fausse" (de valeur 0, false, "", null, undefined...), l'exécution s'arrête. } if (0 != pagespeedAttributes.length) { criticalImagesBeaconData = "oh=" + this.key; criticalImagesBeaconData += "&ci=" + encodeURIComponent(pagespeedAttributes[0]); for (eIndex = 1; eIndex < pagespeedAttributes.length; ++eIndex) { uriComponent = "," + encodeURIComponent(pagespeedAttributes[eIndex]); if (131072 < criticalImagesBeaconData.length + uriComponent.length) break; //Empêche un dépassement de 131072 caractères pour criticalImagesBeaconData criticalImagesBeaconData += uriComponent } window.pagespeed.criticalImagesBeaconData = criticalImagesBeaconData; this.blaSendRequest(criticalImagesBeaconData) } }; window.pagespeed.blaRegisterEvent = function (window_local, event, fct) { if (window_local.addEventListener) window_local.addEventListener(event, fct, !1); else if (window_local.attachEvent) window_local.attachEvent("on" + event, fct); else { var fct_local = window_local["on" + event]; window_local["on" + event] = function () { fct.call(this); fct_local && fct_local.call(this) //Appel à fct_local.call(this) seulement si fct_local est défini } } }; window.pagespeed.criticalImagesBeaconInit = function (mod_pagespeed_beacon, url, key) { var e = new viewModel(mod_pagespeed_beacon, url, key); window.pagespeed.blaRegisterEvent( window, "load", function () { window.setTimeout(function () { e.blaImage() }, 0) } ) }; } )(); pagespeed.criticalImagesBeaconInit('/mod_pagespeed_beacon', 'http://www.perdu.com/', 'yT-lkVeHbT'); //]]>
- Nous sommes sur une page de discussion, si vous comprenez mieux que moi le code dé-minifié, n'hésitez pas à reformuler ma phrase. --91.135.176.212 (discuter) 29 novembre 2017 à 18:42 (CET)
- Ce script est absent en novembre 2023 (desktop Chrome).
- S'agissait vraisemblablement d'un script JS pour l'optimisation de performance/vitesse du serveur web (CriticalImagesBeacon)
- => discussion archivée -- Irønie (d) 4 décembre 2023 à 19:40 (CET)