;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Benjamin Franklin Jornalista, cientista, diplomata e inventor norte-americano

17/01/1706, Boston, EUA

17/04/1790, Filadélfia, EUA

Da Página 3 Pedagogia & Comunicação

31/07/2005 12h20

Benjamin Franklin foi a mais nova de 17 crianças nascidas dos dois casamentos de Josiah Franklin, comerciante de velas de cera. Jornalista e tipógrafo desde os 15 anos, começou no jornal de seu irmão James, "The New England Courant", em Boston.

Em 1729, comprou o "Pennsylvania Gazette". Seu grande sucesso como editor foi o "Almanaque do Pobre Ricardo". Publicado a partir de 1732, o anuário de informações gerais era cheio dos provérbios de Franklin, como: "um tostão poupado é um tostão ganhado". Neste período, além de editor, liderou o grupo que criou a primeira biblioteca pública da Filadélfia. Foi também um dos fundadores da Universidade da Pensilvânia, onde ergueu o primeiro hospital público da colônia que seria os Estados Unidos.

Em 1748, vendeu a editora para se tornar cientista em tempo integral. Suas descobertas sobre a eletricidade lhe trouxeram uma reputação internacional. Além de ser eleito membro da Royal Society, ganhou a medalha Copley em 1753 e seu nome ou a designar uma medida de carga elétrica. Franklin identificou as cargas positivas e negativas e demonstrou que os trovões são um fenômeno de natureza elétrica. Esse conhecimento serviu de base para seu principal invento, o pára-raios. Ele criou também o franklin stove (um aquecedor a lenha muito popular) e as lentes bifocais.

Franklin revolucionou a meteorologia. Com base em conversas com agricultores notou que a mesma tormenta percorria várias regiões. Assim, criou mapas meteorológicos semelhantes aos usados ainda hoje para substituir os gráficos usados até então.

O inventor provou ser ainda um hábil público, porém, usava a influência em favor de familiares. O seu mais notável feito no governo foi a reforma do sistema postal. Foi embaixador das colônias no Reino Unido e, depois da independência americana, representante dos Estados Unidos na França, onde se tornou uma figura popular na sociedade parisiense.

Em 1785, Franklin foi chamado de volta aos Estados Unidos e honrado com um retrato pintado por Joseph Siffred Duplessis para a Galeria do Retrato Nacional, do Instituto Smithsoniano, em Washington, como um dos heróis da independência. Ele participara da redação da "Declaração de Independência" e da Constituição. Engajou-se na campanha abolicionista e continuou com a popularidade em alta. Quando morreu, aos 84 anos, o funeral foi acompanhado por 20 mil pessoas.