Su Surfin’Safari, il blog dedicato al WebKit, il reviewer Peter Beverloo, evidenzia alcuni dei recenti cambiamenti apportati al “motore” di Safari e altri browser moderni. Di particolare interesse l’aggiunta di nuove API (compresa una che permetterà di installare più estensioni contemporaneamente) e l’aggiornamento dello JavaScriptCore, quest’ultimo ora con un interprete di basso livello che è, secondo gli sviluppatori, da 2 a 2.5 volte più veloce rispetto al precedente.
Gli sviluppatori affermano che i vantaggi non si notano nei benchmark classici ma che effettivi benefici si vedranno nei siti web reali. Una Vibration API, come il nome suggerisce (curata da Samsung) potrà essere utilizzata per far vibrare smartphone e simili. Ricordiamo che il WebKit include due framework di basso livello: WebCore (parser HTML e renderer) e JavaScriptCore (un motore JavaScript basato su KJS).
[A cura di Mauro Notarianni]
// 1. Configura l'URL e l'identificativo esatto per questo articolo
var disqus_config = function () {
this.page.url = window.location.href.split('?')[0]; // Prende l'URL pulito della pagina
this.page.identifier = window.location.pathname; // Usa il percorso come ID univoco
};
document.addEventListener("DOMContentLoaded", function() {
var disqus_shortname = 'macitynet'; // INSERISCI QUI IL TUO SHORTNAME DISQUS
var disqus_loaded = false;
function loadDisqus() {
if (!disqus_loaded) {
disqus_loaded = true;
var dsq = document.createElement('script');
dsq.type = 'text/javascript';
dsq.async = true;
dsq.setAttribute('data-timestamp', +new Date()); // Obbligatorio per le nuove policy Disqus
dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}
}
// 2. Lazy load: carica quando arrivi al div
var observer = new IntersectionObserver(function(entries) {
if(entries[0].isIntersecting === true) {
loadDisqus();
observer.disconnect();
}
}, { threshold: [0] });
// Se l'elemento esiste, avvia l'osservatore
var thread = document.getElementById("disqus_thread");
if(thread) observer.observe(thread);
});