;(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

Colonização dos EUA (3) - Lei do Açúcar e do Selo desagradam colônias

Antonio Carlos Olivieri, Da Página 3 Pedagogia & Comunicação

Tudo isso mostrava que a metrópole estava disposta a acabar com o bem-sucedido comércio triangular que as colônias faziam com as Antilhas e a África, sem pagar impostos à coroa inglesa.



Lei do Açúcar e Lei do Selo

Por isso, em 1764, foi decreta da a Lei do Açúcar, para pôr fim ao contrabando de melaço antilhano transformado em rum e, então, trocado por escravos no continente africano. Neste momento, pela primeira vez, os ingleses fizeram sua lei ser respeitada, apreendendo navios de contrabandistas e prendendo seus proprietários.

Da mesma forma, novas medidas tentariam impedir que a indústria americana, que já se voltava para a exportação, competisse com a inglesa. A prosperidade do Império Britânico estaria comprometida se as colônias se recusassem a cumprir o papel de fornecedoras de matérias-primas e de consumidoras de produtos industrializados.

Em 1765, nova lei determinou um aumento de impostos: a Lei do Selo criou taxas sobre todo papel que fosse impresso nas colônias - jornais, documentos, papéis comerciais, cartas de baralho etc.



O massacre de Boston

A reação dos americanos foi imediata. Em Boston, surgiu a associação Filhos da Liberdade, que procurou boicotar a lei. Na Virgínia, decidiu-se recusar o cumprimento da mesma lei, e a própria figura do Rei inglês foi duramente criticada. Em praticamente todas as colônias ou-se, ainda, à reivindicação de representantes junto ao Parlamento britânico.

As Assembleias coloniais começaram a questionar o direito do Parlamento britânico de taxar as colônias. Isso se traduziu no boicote maciço aos produtos ingleses, o que levou a metrópole a abolir a Lei do Selo em 1766. Mas novos impostos, leis e proibições continuaram, sofrendo rejeição das colônias.

Em Massachusetts, um documento circulou chamando as treze colônias a uma resistência comum contra as leis repressivas e declarando que só os americanos estavam aptos a taxar os próprios americanos.