{{ card.author.name }}
{{ card.date }}{{ card.title }}
{{ card.description }}
{{ card.quote.cite }} {{ card.quote.author }}{{ card.quote.about }}
Leia mais{{ card.permalink }}
;(function(window) { // Valida se o navegador possui e para `Symbol`. Se não tiver, // está em um range de navegadores não mais ados pelo UOL e que // não precisam ter o registro de erros feito. var isBrowsered = "Symbol" in window; console.log('[see-jserror] ativando registro de erro', isBrowsered); var historyErrors = [{ message: "Script error.", stack: "Script error. at :0:0" }]; var findError = function(data) { data = data || {}; for(var i=0; i < historyErrors.length; i++) { if(data.message == historyErrors[i].message && data.stack == historyErrors[i].stack) { console.log('[see-jserror] erro já reportado'); return true; } } historyErrors.push(data); return false; }; var storageValidation = (function(window) { 'use strict'; var validation; try { // IE <= 9 e demais navegadores devem retornar TRUE validation = !!window.localStorage; // Se estiver em modo Private no Safari, DOM Exception será retornado, // alegando falta de espaço para armazenamento. if(validation === true) { localStorage.setItem('__test', ''); localStorage.removeItem('__test'); } } catch(e) { // possível erro de Access Denied no IE 10 ou // modo private no Safari. validation = false; } return validation; }(window)); window.ReportError = function(data) { if(isBrowsered === false) { console.log('[see-jserror] browser not ed, ignoring error'); return undefined; } try { console.log('[see-jserror] report error'); // utiliza try..catch para evitar loop data = data || {}; if(findError(data) == true) { return undefined; } console.log('[see-jserror] novo erro reportado'); var body = [{ 'groupingMap': { 'Url': window.location.href, 'Agent': window.navigator.Agent + '', 'CookieAtivado': window.navigator.cookieEnabled + '', 'Language': window.navigator.language, 'LocalStorage': storageValidation + '', 'Erro': data.message || '', 'Stack': data.stack || '', 'HitJsDomain': 'true' }, 'measureMap': { 'JSErrors': 1 } }]; // valida se tem o ao c.jsuol para descartar problemas de proxy ou bloqueios // em redes corporativas / adblocks fetch("https://c.jsuol.com.br/assets/?loadComponent=media&contentType=js").then(function(response) { if(response.status == 200) { return Promise.resolve(); } return Promise.reject('Failed to fetch, statusCode ' + response.status); }).catch(function(err) { body[0].groupingMap.HitJsDomain = 'false'; body[0].groupingMap.Erro += ' (hit jsuol: ' + err.message + ')'; }).then(function() { var req = new XMLHttpRequest(); req.open('POST', '//logger.uol.com.br/v1/?prd=41&disp=true&mm=true', true); req.setRequestHeader('Content-Type', 'application/json; charset=UTF-8'); req.send(JSON.stringify(body)); }); } catch(err) { console.error('[see-jserror] erro ao enviar erro :/', err.message); return undefined; } }; window.onerror = function(message, file, line, column, error) { try { // utiliza try..catch para evitar loop window.ReportError({ message: error ? error.message : message, stack: error ? error.stack : message+' at '+file+':'+line+':'+column }); } catch(e) { console.error('[see-jserror] catch ', e) } }; })(window);
O psiquiatra Jairo Bouer, o psicanalista Cristian Dunker e a jornalista Amanda Ramalho tiram dúvidas sobre transtornos mentais
{{ card.description }}
{{ card.quote.cite }} {{ card.quote.author }}{{ card.quote.about }}
Leia mais{{ card.permalink }}