1let ads = 2`https://www.amazon.com.br/b?ie=UTF8&node=17403018011&_encoding=UTF8&linkCode=ib1&tag=listatudo-20&linkId=1423f34999a7f84e180d38d9d0432954&ref_=ihub_curatedcontent_b60f83b0-fb13-41a0-8024-ae18752ba093 3https://m.media-amazon.com/images/G/32/BR-hq/2021/img/Consumer_Electronics/Associates/XCM_CUTTLE_ORIGIN_1342595_1749320_BR_3924392_1200x1200_pt_BR.png 4 5https://www.amazon.com.br/b?ie=UTF8&node=17916229011&_encoding=UTF8&linkCode=ib1&tag=listatudo-20&linkId=0304737a4fea33ae8b427ac52a7ce303&ref_=ihub_curatedcontent_e1bff58d-0b2b-4b49-aa1d-91e60f7f8c6b 6https://m.media-amazon.com/images/G/32/BR-hq/2021/img/Consumer_Electronics/Associates/XCM_Manual_ORIGIN_1309360_1578268_BR_br_consumer_electronics_associates_banners_page_br_pt_3682316_1200x1200_pt_BR.jpg 7 8https://www.amazon.com.br/b?ie=UTF8&node=23616555011&_encoding=UTF8&linkCode=ib1&tag=listatudo-20&linkId=66f2552cbae0b4a9bd60f6995c7503a7&ref_=ihub_curatedcontent_9d873fd3-b4eb-4987-9340-4010d309f501 9https://m.media-amazon.com/images/G/32/kindle/email/Setembro_2021/ficcao/300x300.jpg 10 11https://www.amazon.com.br/b?ie=UTF8&node=23520777011&_encoding=UTF8&linkCode=ib1&tag=listatudo-20&linkId=aa3e54301770a7427417549c801bf27c&ref_=ihub_curatedcontent_287e04fe-a6f6-4517-95bc-31658b0c5078 12https://m.media-amazon.com/images/G/32/BR-hq/2021/img/Consumer_Electronics/Associates/XCM_CUTTLE_ORIGIN_1338768_1739510_BR_3910270_1200x1200_pt_BR.png 13 14https://www.amazon.com.br/b?ie=UTF8&node=17916230011&_encoding=UTF8&linkCode=ib1&tag=listatudo-20&linkId=ec2692b2652f170773d71e2d09e95494&ref_=ihub_curatedcontent_c4094bc2-70ac-4c69-bed5-10a69b80a31b 15https://m.media-amazon.com/images/G/32/BR-hq/2021/img/Consumer_Electronics/Associates/XCM_CUTTLE_ORIGIN_1326821_1678938_BR_3818698_500x500_pt_BR.png 16 17<iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//ws-na.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=BR&source=ss&ref=as_ss_li_til&ad_type=product_link&tracking_id=listatudo-20&language=pt_BR&marketplace=amazon®ion=BR&placement=B07PDHSJ1H&asins=B07PDHSJ1H&linkId=230d900b2363e92f954fd7ea7edc2789&show_border=true&link_opens_in_new_window=true"></iframe> 18` 19 20let devices = ` 21https://www.amazon.com.br/dp/B07ZZW745X?_encoding=UTF8&linkCode=ib1&tag=listatudo-20&linkId=b9c56c2080525b376815514c1d4c3a1a&ref_=ihub_sa-ts_B07ZZW745X 22https://m.media-amazon.com/images/I/314m40cd6jS._SR300,300_.jpg 23 24https://www.amazon.com.br/dp/B0773XBMB6?_encoding=UTF8&linkCode=ib1&tag=listatudo-20&linkId=914b1af3a81c34ce8c6a1b8f0d58796a&ref_=ihub_sa-ts_B0773XBMB6 25https://m.media-amazon.com/images/I/41pU53HAjVL._SR300,300_.jpg 26 27` 28 29Array.prototype.random = function () { 30 return this[Math.floor((Math.random()*this.length))]; 31} 32 33function replaceContent(content) { 34 try { 35 document.querySelector('.ads-details-wrapper').querySelector('.row').querySelectorAll('.col-sm-6')[1].innerHTML = content 36 } catch(e) { 37 console.log(e) 38 } 39} 40 41let adsGalilai = [ 42 43 "Conteúdo de qualidade no Instagram sem esforço", 44 "Veja aqui como. Comece agora", 45 46 "Manter o Instagram atualizado é desafiador?", 47 "Crie posts em segundos aqui!", 48 49 "Conteúdo de qualidade sem esforço no Instagram", 50 "Veja aqui como. Comece agora!", 51 52 "Quer crescer no Instagram mas não tem tempo?", 53 "Encontre a solução perfeita aqui!", 54 55 "Crie autoridade no Instagram sem perder de tempo.", 56 "Aprenda como agora!", 57 58 "Transforme seu perfil do Instagram em uma máquina de vendas ð", 59 "Descubra como iniciar!", 60 61 "Quer mais engajamento no Instagram? Temos a solução.", 62 "Comece a mudança agora!", 63 64 "Não sacrifique mais seu tempo criando conteúdo para o Instagram.", 65 "Crie posts em segundos aqui!", 66 67 "Sem Tempo? Crie Posts Surpreendentes para Instagram em Segundos!", 68 "Sim, Quero Transformar Minha Conta Agora!", 69 70 "Transforme Seus Seguidores de Instagram em Clientes!", 71 "Mostrar Como Fazer Isso Agora!", 72 73 "Exploda Seu Crescimento no Instagram! Rápido, Fácil, Divertido!", 74 "Quero Crescer Agora!", 75 76 "Truques Secretos do Instagram para Profissionais Ocupados!", 77 "Revelar Segredos Agora!", 78 79 "Turbinando Seu Instagram enquanto você Toma seu Café!", 80 "Experimentar Isso Hoje!", 81 82 "Veja Como Suas Vendas no Instagram Podem Decolar!", 83 "Me Mostre Como!", 84 85 "Sem tempo para posts no Instagram?", 86 "Automatize agora!", 87 88 "Preso na criação de conteúdo do Instagram? Liberte-se!", 89 "Descubra como!", 90 91 "Quer ser um mestre da Instagram sem esforço?", 92 "Aproveite este atalho!", 93 94 "Publique mais, trabalhe menos. Cresça seu Instagram!", 95 "Quero saber mais!", 96 97 "Mexer no Instagram todo o dia? Nem pensar!", 98 "Quero minha solução!", 99 100 "Crie posts no Instagram enquanto toma seu café!", 101 "Posts em segundos!", 102] 103let colors = [ 104 { 105 'bg': '#02447d', 106 'text': 'white' 107 }, 108 { 109 'bg': '#eac602', 110 'text': 'black' 111 }, 112 { 113 'bg': '#6B8E23', 114 'text': 'white' 115 }, 116 { 117 'bg': '#FF1493', 118 'text': 'white' 119 }, 120 { 121 'bg': '#FF4500', 122 'text': 'white' 123 }, 124 { 125 'bg': '#4B0082', 126 'text': 'white' 127 }, 128 { 129 'bg': '#191970', 130 'text': 'white' 131 }, 132 { 133 'bg': '#32CD32', 134 'text': 'black' 135 }, 136 { 137 'bg': '#FFFF00', 138 'text': 'black' 139 }, 140 { 141 'bg': '#FF6347', 142 'text': 'white' 143 }, 144] 145 146function showCreateWebsiteAd() { 147 // even lines from adsGalilai are messages and odd lines are CTA
148 let messagesIntro = adsGalilai.filter((_, i) => i % 2 == 0) 149 let messagesCta = adsGalilai.filter((_, i) => i % 2 != 0) 150 // now merge them in a single array 151 let messages = messagesIntro.map((message, i) => [message, messagesCta[i]]) 152 153 let message = messages[Math.floor(Math.random()*messages.length)] 154 let color = colors[Math.floor(Math.random()*colors.length)] 155 156 let ad = `<a target="_blank" href="https://galilai.com.br/editor-magico?utm_source=listatudo&utm_content=${message[0]}"> 157 <!--<img class="thumbnail img-responsive" src="/assets/img/site-online.png">--> 158 <div style="background: ${color.bg};width: 300px; height: 250px;display: flex; justify-content: center; align-items: center; color: ${color.text}; font-size: 20px; font-weight: bold; text-align: center; padding: 20px; flex-direction: column"> 159 ${message[0]} 160 <button style="margin-top: 20px; background: ${color.text}; color: ${color.bg}; border: none; padding: 10px; font-size: 20px; font-weight: bold; border-radius: 5px">${message[1]}</button> 161 </div> 162 </a>` 163 replaceContent(ad) 164} 165 166function showAd() { 167 var availableAds = ads.split('\n\n') 168 169 selectedAd = availableAds.random() 170 171 if (selectedAd.indexOf('<iframe') != -1) { 172 replaceContent(selectedAd) 173 } else { 174 var ad = selectedAd.split('\n') 175 176 let content = '<a href="' + ad[0]+ '"><img width="300" src="'+ad[1]+'"/></a>' 177 replaceContent(content) 178 } 179} 180 181window.addEventListener('load', function(event) { 182 function toggleClass(el, classname){ 183 if(el.classList.contains(classname)){ 184 el.classList.remove(classname) 185 } 186 else{ 187 el.classList.add(classname) 188 } 189 } 190 191 if (document.querySelector("#toggleCities") != null) { 192 document.querySelector("#toggleCities").addEventListener('click', function(){ 193 var jQuery = function(param) { 194 return document.querySelector(param) 195 } 196 197 toggleClass(jQuery(".city-hidden"), 'hide') 198 199 var visible = !jQuery(".city-hidden").classList.contains("hide"); 200 jQuery("#toggleCities").innerText = (visible?"Ocultar cidades":"Mostrar cidades"); 201 }) 202 } 203 204 205 //showAd() 206 showCreateWebsiteAd() 207 208 this.document.querySelector('.navbar-toggle').addEventListener('click', function(){ 209 toggleClass(document.querySelector('.navbar-collapse'), 'collapse') 210 toggleClass(document.querySelector('.navbar-collapse'), 'collapsed') 211 }) 212}); 213 214function trackStat() { 215 // Content kind 216 let isCep = window.location.pathname.indexOf('/cep') == 0 217 let isItem = document.querySelector('.ads-details-wrapper h1') 218 let isCategory = document.querySelector('h3.list-title') && document.querySelector('h3.list-title').innerText.toLowerCase().indexOf('categorias') != -1 219 220 let contentKind = 'unknown' 221 if (isCep) { 222 contentKind = 'cep' 223 } else if (isItem) { 224 contentKind = 'item' 225 } else if (isCategory) { 226 contentKind = 'category' 227 } 228 // Media kind 229 let isAmp = window.location.search.indexOf('amp') != -1 230 // Device kind 231 let isMobile = window.innerWidth < 768 232 233 fetch('/api/stat?contentKind=' + contentKind + '&mediaKind=' + (isAmp?'amp':'html') + '&deviceKind=' + (isMobile?'mobile':'desktop')) 234}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.