PageSourceSearch

https://listatudo.com.br/assets/js/script.js

js listatudo.com.br collected 2026-10-02 17:47:28 UTC 8,381 bytes, 234 lines download raw bytes

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&region=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.