( TCH | 2020. 11. 17., k – 12:20 )

> Tudom, hogy ez neked nyomasztó és nem akarlak terhelni ezzel, de ez valóban elmaradott böngésző a tudását tekintve.

Ilyet csak az állít, aki nem tudja mire képes a Classic Opera. Az utána született HTML/JS/CSS cuccokat nyilván nem tudja, de a featurelistáját a mai napig nem közelíti meg egyetlen browser sem. Egyszer már szemezgettem belőle.

> Szerver-oldalról pedig nem fogom odatenni, mert ez egy folyamatosan változó érték (aktuális időbélyeg - legutolsó beküldés időbélyege), ezért lehetetlen gyorstárazni.

Egyfelől a fenét lehetetlen gyorstárazni. Többféle módon is lehet. Mondok kettőt is. Vagy tart az ember egy referenciatáblát, hogy mely tartalmak változásakor mely cache-itemeket kell invalidálni és újrahúzni, vagy pedig a cache-itemekben markerekkel jelöli azokat a részeket, amik változhatnak és cseréli őket, ha kell. A kettőt akár kombinálni is lehet.
Másfelől, itt nem is a gyorsítótárazás hiányáról volt szó, hanem arról, hogy ha szerver oldalon rendereli le, akkor ott belepakolhatja ezt is, zéró JS included. A követett tartalmak aloldalak legtöbbször csak a saját felhasználóiktól kapnak hit-et (nem hitet :P ) és mivel ezek pársoros lapokra vannak tördelve, nem nagy terhelés legenerálni őket ama pár alkalom esetén, amikor valaki lekéri. Nem az 1500-posztos hup8bug topicról van szó.

> Közben meg kliens-oldalról könnyen kezelhető.

Értem én, a kisebbik ellenállás felé kell mozdulni, a többlet átfolyó áramért meg fizessen a júzer. A JS a web pestise.

> Ha sok embernek szívfájdalma lenne, akkor menne vissza a momentjs (sőt, akkor nem is váltottam volna róla), de a luxon gyorsabb, ez más projektekben is kijött már.

Megnéztem ezt a híres Luxont: "Luxon officially supports the last two versions of the major browsers, with some caveats." Ezt minősíteni sem szeretném. A major browsers még hagyján (nem, az sem az), de, hogy csak az utolsó kettő verziót, úgy, hogy manapság kétnaponta jön ki új verzió? Hogy van ez megírva? Én már nem is mondok erre semmit, majd habazer mond "egy-két szavat", ha idetéved...

> Valamikor megnézem, hogy tudom-e polyfill-ezni, de könnyen lehet, hogy neked kell választanod: funkció vagy böngésző.

Fals dilemma. Az Opera a legflexibilisebb böngésző, úgy bővítem ki bármelyik oldalt vele, ahogy akarom és ha valami nem működik, meg tudom kerülni, tudok rá írni alternatívát.

Adott ez az pár sornyi gyorsan összedobott JS:

function _ds(diff)
{
	var d = Math.floor(diff / 86400);
	diff = diff % 86400;
	var h = Math.floor(diff / 3600);
	diff = diff % 3600;
	return d + 'd ' + h + 'h ' + Math.floor(diff / 60) + 'm ' + (diff % 60) + 's ago.';
}

function fuck_luxon()
{
	var t = new Date();
	var kecske = document.getElementsByClassName('formattimeago');
	for (var i = 0; i < kecske.length; ++i)
	{
		kecske[i].parentNode.insertAdjacentHTML('afterbegin', _ds(Math.round((t.getTime() + 3600000 - (new Date(kecske[i].innerHTML.substring(0, 19))).getTime()) / 1000)));
	}
}

fuck_luxon();

Ezt el kell URL-encode-olni, majd betenni ebbe a stringbe, a PLACEHOLDER helyére:

opera:/button/Go to page, "javascript:PLACEHOLDER",1,Fuck luxon

Ezt Operában URL-ből meg kell hívni, mondjuk így: http://oscomp.hu/depot/fuck_luxon.html (Belinkeltem volna nagyon szívesen közvetlenül ide is, de a nagyonokos drupálmotor úgy döntött, hogy olyan URL nincs, hogy opera:akármi és leharapta az elejét...)
Az eredmény egy Opera toolkit gomb, amit kiszórhatunk a böngésző felszínére, bárhova és ha a követett tartalmak oldalon rábökünk, akkor meg is vagyunk: http://oscomp.hu/depot/opera12_fuck_luxon.png De betehető user-js-be is, mert az Opera 12 OOB támogatja az user-js-t és user-css-t is, nem kell hozzá mindenféle monkey, meg nem tudom milyen kiegészítő, mert ugye ez egy elmaradott böngésző...

Hát kb. ennyire elmaradott. Melyik másik browser tudja ezt, hogy megfogod a kódot, amit valahol futtatni akarsz, belerakod egy URL-be és kidobod vele a browser felszínére? Hol van még lehetőség OOB csak úgy codesnippeteket futtatni egy definiálható gomb lenyomásával? Maximum valami extensionnel, akár Chrome, akár Firefox...
A régi XUL alapú böngészőkben ugyan volt lehetőség "mini" extension-t csinálni erre a célra és csinálni hozzá toolbar buttont, de az is egy több fájlból álló extension, nem URL-be dobható codesnippet. És ugye az az "elavult" XUL volt, a WebEngine-vel ugyanezt már nem csinálod meg. Írhatsz rá egy teljes extension-t, digitális aláírással, minden lópikulával, hogy aztán, ha a Mozilla oldalán megint lejár valami cert, akkor a te saját extension-öd se működjön tovább. "Modern" browser. Ami kevesebbet tud, mint előtte! Fejlődés! Innováció! Bazmeg...

Arról meg, hogy mit lehet megoldani a régi browserekben, meg mit nem, arról itt ez a tanulságos kis strip: https://www.commitstrip.com/wp-content/uploads/2016/07/Strip-Les-Prerolls-650-finalenglish-2.jpg
Csak akarni kell.