MediaWiki:Common.js
Ir para navegação
Ir para pesquisar
Nota: Após salvar, você pode ter que limpar o "cache" do seu navegador para ver as alterações.
- Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
- Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
- Internet Explorer: PressioneCtrl enquanto clica Recarregar, ou Pressione Ctrl-F5
- Opera: Vá para Menu → Configurações (Opera → Preferencias no Mac) e depois para Privacidade e Segurança → Limpar dados de navegação → Imagens e arquivos em cache.
/* SOPA */ (function (){ var root = this; var SopaBlackout = function(){}; var addEvent = function(obj, type, fn, ref_obj){ if (obj.addEventListener){ obj.addEventListener(type, fn, false); }else if (obj.attachEvent){ obj["e"+type+fn] = fn; obj[type+fn] = function(){ obj["e"+type+fn](window.event,ref_obj); }; obj.attachEvent("on"+type, obj[type+fn]); } }; // Thanks http://javascript.nwbox.com/IEContentLoaded/ // for this var IEContentLoaded = function(w, fn) { var d = w.document, done = false, init = function () { if (!done) { done = true; fn(); } }; (function () { try { d.documentElement.doScroll('left'); } catch (e) { setTimeout(arguments.callee, 50); return; } init(); })(); d.onreadystatechange = function() { if (d.readyState == 'complete') { d.onreadystatechange = null; init(); } }; } var onDomReady = function(fn){ if (document.addEventListener){ document.addEventListener('DOMContentLoaded', fn, false); }else{ IEContentLoaded(window, fn); } }; var getStyle = function(e, prop){ if (e.currentStyle){ return e.currentStyle[prop]; }else if (document.defaultView && document.defaultView.getComputedStyle){ return document.defaultView.getComputedStyle(e, "")[prop]; }else{ return e.style[prop]; } }; var findPos = function(obj){ var curleft = 0; var curtop = 0; if (obj.offsetParent){ do{ curleft += obj.offsetLeft; curtop += obj.offsetTop; }while(obj = obj.offsetParent); } return [curleft, curtop]; }; var txt = function(s){ return document.createTextNode(s); }; var create = function(e, props){ var elem = document.createElement(e); var props = props !== null ? props : {}; for (var key in props){ if (key == 'href'){ elem.href = props[key]; }else{ elem.style[key] = props[key]; } } l = arguments.length; for (var i=2; i<l; i++){ elem.appendChild(arguments[i]); } return elem; }; var getOpts = function(){ var ret = {}; for (var key in SopaBlackout.DEFAULTS){ var k = 'sopablackout_' + key; ret[key] = (typeof window[k] === 'undefined') ? SopaBlackout.DEFAULTS[key] : window[k]; } return ret; }; var dateMatches = function(spec){ spec.push(false); spec.push(false); spec.push(false); var today = new Date(); if ((spec[0] !== false && today.getFullYear() !== spec[0]) || (spec[1] !== false && today.getMonth() + 1 !== spec[1]) || (spec[2] !== false && today.getDate() !== spec[2])){ return false; } return true; }; SopaBlackout.VERSION = '0.2.0'; SopaBlackout.MIN_HEIGHT = 100; SopaBlackout.HEADER_TEXT = "É assim que a web pode ficar se o \"Stop Online Piracy Act\" for aprovado."; SopaBlackout.CONTENT_TEXT = "\nDois projetos de lei em tramitação no Congresso norteamericano têm provocado reações e críticas de grandes empresas de tecnologia (como Google e Facebook), além de setores da comunidade técnica, academia e sociedade civil.\nEsses projetos, chamados SOPA (Stop Online Piracy Act) e PIPA (Protect Intellectual Property Act), se forem aprovados, instituirão ferramentas de controle de conteúdo na web que alteram de forma crucial o funcionamento da própria rede. Eles impõem medidas severas para impedir violações a direitos autorais, como alterações no sistema de nomes de domínio, filtragem em mecanismos de busca para que sites não sejam encontrados, além de instruções de bloqueio a operações financeiras, como doações feitas em apoio ao site supostamente infrator.\nLegislações como as propostas nos EUA, mais do que uma questão interna de cada país, desafiam a própria arquitetura da rede como uma infra-estrutura aberta que incentiva a participação e a criação colaborativa.\nSegundo o Centro de Tecnologia e Sociedade da Escola de Direito da Fundação Getulio Vargas/RJ, a tutela dos direitos intelectuais não deve ser exercida em detrimento de outros direitos fundamentais, como a privacidade, a liberdade de expressão, e principalmente o acesso ao conhecimento e à informação. Mesmo com a recente declaração da Casa Branca contra o SOPA, e com todos os esforços na rede até agora, a ameaça ainda não cessou. Wikipedia, Reddit e vários outros sites promoveram um blecaute da Internet como forma de protesto.\n\nConsiderando que, mesmo sendo uma legislação de outro país, essas medidas podem afetar-nos diretamente, o Garoa Hacker Clube, por determinação do Conselho Manda-chuva, publica essa mensagem de protesto e esclarecimento em seu site.\nPara continuar acessando nosso conteúdo normalmente, clique em qualquer lugar para continuar."; SopaBlackout.CONTINUE_TEXT = "(clique em qualquer lugar para continuar)"; SopaBlackout.ZINDEX = Math.pow(2, 31) - 2; SopaBlackout.DEFAULTS = { 'id': false, 'srsbzns': false, 'on': false }; SopaBlackout.blackout = function(opts){ var obj; var body = document.body; if (opts['id'] === false){ obj = body; height = "100%"; }else{ obj = document.getElementById(opts['id']); var height = parseInt(getStyle(obj, 'height'), 10); height = height > SopaBlackout.MIN_HEIGHT ? height : SopaBlackout.MIN_HEIGHT; } var offsets = findPos(obj); var blackout = create('div', { position: 'absolute', top: offsets[1], width: '100%', backgroundColor: 'black', textAlign: 'center', paddingTop: '10px', zIndex: SopaBlackout.ZINDEX, height: height, color: '#999'}, create('h1', {color: '#006837'}, txt(SopaBlackout.HEADER_TEXT)), create('h2', {color: '#00ff00'}, txt(SopaBlackout.CONTENT_TEXT)), create('p', null, txt("Ajude a manter a web livre!"), create('a', {href: "http://sopablackout.org/learnmore"}, txt(" Saiba mais!"))) ); if (opts['srsbzns'] !== true){ blackout.appendChild(create('p', {paddingTop: '250px', color: '#333'}, txt(SopaBlackout.CONTINUE_TEXT))); addEvent(blackout, 'click', function(e){ body.removeChild(blackout); }); } body.appendChild(blackout); }; SopaBlackout.go = function(){ var opts = getOpts(); if (opts['on'] !== false && !dateMatches(opts['on'])){ return; } SopaBlackout.blackout(opts); }; onDomReady(SopaBlackout.go); }).call(this);