Domanda:
Reverse engineering XKCD 1190
Igor Skochinsky
2013-03-27 06:16:40 UTC
view on stackexchange narkive permalink

L'ultimo fumetto (per ora) si intitola "Time". È un fumetto dall'aspetto standard anche se senza molta azione, ma il titolo alternativo dell'immagine dice "Aspetta". Ho aspettato ma non è successo niente (provato in Opera e IE9), quindi ho dato un'occhiata al sorgente della pagina.

Accanto al tag <img> dell'immagine c'era un tag <script> che includeva il seguente URL:

http://imgs.xkcd.com/static/time07.min.js

Ho provato a dargli un senso, ma non riesco a capirlo. Qualcuno può spiegare come funziona e cosa avrebbe dovuto accadere?

[explorexkcd can and did] (http://webcache.googleusercontent.com/search?q=cache:kMIFRZ7MkWAJ:www.explainxkcd.com/wiki/index.php%3Ftitle%3D1190:_Time+xkcd+1190+explained&cd=1&hl = en & ct = clnk) (almeno parzialmente)
@Gilles: interessante! Tuttavia, non sembra esserci molta spiegazione su cosa fa esattamente lo script, ma più di "ecco gli URL che recupera". Spero che qualcuno possa pubblicare una panoramica delle parti principali della sceneggiatura e di come interagiscono. Io, per esempio, sono perso in tutti i richiami e le chiusure.
Forse è un esperimento sociale e sta contando quanto tempo una persona aspetterà prima che l'immagine cambi?
Una risposta:
#1
+9
0xea
2013-03-28 02:50:06 UTC
view on stackexchange narkive permalink

Qualcuno in XKCD ha incollato un link a questo gist che contiene una fonte deoffuscata e annotata insieme ad alcune spiegazioni:

La parte principale di Javascript che guida xkcd Fumetto "Time" ( http://xkcd.com/1190/), deoffuscato e annotato. La maggior parte dello script sembra essere un'implementazione di EventSource che, sebbene importante, non è particolarmente interessante per i nostri scopi, quindi l'ho omesso qui. Dopo un po 'di ricerche su Google, sono in effetti abbastanza certo che l'implementazione di EventSource utilizzata qui sia https://github.com/Yaffle/EventSource: dopo aver minimizzato e abbellito quel codice, sembra molto simile a cosa si presenta in time07.min.js.

Per quanto ne so, non ha magia e serve solo come un modo semplice per il server di far sapere al client quando c'è è una nuova immagine.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...