-
-
Save fedegomez/7b4601e2cc9491e004189e9a23dd35b1 to your computer and use it in GitHub Desktop.
javascript: (function (doc){var changed=0; function checkTitles(){console.log('jQuery version ', $.fn.jquery, ' loaded'); var position=1; var items=[]; var results=$('#rso .kp-blk .g, #rso .g[class="g"], #rso .srg .g').not('.kno-kp .g').find('div:first').find('a:first'); $('.title-changed, #CountTitlesChanged').remove(); results.each(function (){if (!$(this).parents('.related-question-pair').length){var parent=$(this).closest('.tF2Cxc').length > 0 ? $(this).closest('.tF2Cxc') : $(this).closest('li'); items.push([ position, $(this).find('h3').text(), encodeURI($(this).attr('href')), parent]); position++;}}); var numItems=1; cors_proxies=[ 'https://api.codetabs.com/v1/proxy?quest=', 'https://jsonp.afeld.me/?url=',]; items.forEach(item=>{$.ajax({url: cors_proxies[Math.floor(Math.random() * cors_proxies.length)] + item[2], success: function (data, status, xhr){title=$(data).filter('title').text(); var html='<div class="title-changed">'; if (title !=item[1]){html +='<span style="font-weight: bold;color: #ff6961;">' + title + '</span>'; changed++;}else{html +='<span style="font-weight: bold;color: darkgreen;">' + item[1] + '</span>';}html +='</div>'; item[3].find('div').first().append(html);}, error: function (xhr, status, error){var html='<div class="title-changed">'; html +='<span style="font-weight: bold;color: lightslategray;">Error: No se ha podido procesar la solicitud</span>'; html +='</div>'; item[3].find('div').first().append(html);}, complete: function (xhr, status){if (numItems==items.length){petitionCompleted();}else{numItems++;}}});});}function petitionCompleted(){$('#result-stats').append('<span id="CountTitlesChanged"> - ' + changed + ' títulos cambiados en esta página</span>');}if (typeof jQuery=='undefined'){var script_jQuery=document.createElement('script'); script_jQuery.src='https://code.jquery.com/jquery-latest.min.js'; script_jQuery.onload=checkTitles; doc.body.appendChild(script_jQuery); console.log('script_jQuery appended to body');}else{console.log('jQuery already included ...'); checkTitles();}})(document) |
Hej! Could you be so kind to review your JS? Seems to be Google changed class names or smth. Your script was very very! useful for webmasters. Please, make it valid)))
Script stopped to work. Is there a Solution for this? Thanks
Hi all, I just used Claude.ai to fix this and it works again.
javascript:(function(){const s=document.createElement('style');s.textContent=
.tc{margin-top:8px;font-size:14px}.tm{color:#0f5132;background:#d1e7dd;padding:2px 6px;border-radius:3px}.tmm{color:#842029;background:#f8d7da;padding:2px 6px;border-radius:3px}.te{color:#664d03;background:#fff3cd;padding:2px 6px;border-radius:3px};document.head.appendChild(s);const p=['https://corsproxy.io/?','https://api.allorigins.win/raw?url='];let c=0;const g=()=>Array.from(document.querySelectorAll('div.g:not(.kno-kp .g) div[data-snf] a:has(h3)')).map((l,i)=>({p:i+1,e:l.closest('div.g'),t:l.querySelector('h3').textContent,u:l.href}));const f=async u=>{const x=p[Math.floor(Math.random()*p.length)]+encodeURIComponent(u);const r=await fetch(x);const h=await r.text();const d=(new DOMParser).parseFromString(h,'text/html');return d.title.trim()};const d=(e,g,a,r=false)=>{const v=document.createElement('div');v.className='tc';if(r)v.innerHTML='<span class="te">Error fetching page title</span>';else if(g===a)v.innerHTML=
✓ Titles match: "${g}";else{c++;v.innerHTML=
Google: "${g}"
Page: "${a}"}e.appendChild(v)};(async()=>{const r=g();for(const t of r){try{const a=await f(t.u);d(t.e,t.t,a)}catch{d(t.e,t.t,'',true)}await new Promise(r=>setTimeout(r,300))}const s=document.getElementById('result-stats');if(s)s.textContent+=
- ${c} title${c!==1?'s':''} different from search results})()})();
This script is not working and no errors in the output. I am checking it on google chrome windows.