Usuario por primera vez aquí!
Entonces, recientemente obtuve un bloqueador de anuncios de YouTube para mi computadora fuera de GitHub. Es un complemento de Chrome simple escrito en JavaScript y solía funcionar muy bien, pero luego dejó de funcionar parcialmente. Lo que quiero decir con eso es que cuando el bloqueador de anuncios está habilitado, solo bloquea los anuncios que tienen direcciones URL válidas (como https://www.example.com/ ). Todas las demás URL (como ejemplo.com ) no se bloquearán.
Habría intentado ponerme en contacto con el programador del complemento, pero ya no puedo encontrar su página de GitHub. Soy un completo novato en la programación de JavaScript, sin embargo, sé cuál es el problema, pero no sé cómo reescribir el código.
Hay una parte de background.js que contiene una función con el parámetro (¿argumento?) urls: , que contiene una matriz que consta de "all_urls" . Que yo sepa, "all_urls" coincidirá con cualquier URL que comience con esquemas como https:// y http:// .
Aquí está el código en cuestión.
fondo.js
var numBlocked = 0; chrome.webRequest.onBeforeRequest.addListener( function(details) { // It is easier to ignore requests instead of modifying them - everything seems to work fine // Note that get_midroll_info response contains playerAds describing all of the ads in the video const ignore = details.url.indexOf("/get_video_info") != -1 || details.url.indexOf("/api/stats/ads") != -1 || details.url.indexOf("/pagead/conversion") != -1 || details.url.indexOf("ad_companion") != -1 || details.url.indexOf("get_midroll_info") != -1; if (ignore) { numBlocked++; // keep track of blocked requests chrome.browserAction.setBadgeBackgroundColor({color: "#FF0000"}); chrome.browserAction.setBadgeText({text: (numBlocked > 99) ? "99+" : `${numBlocked}`}); } return {cancel: ignore}; }, {urls: ["<all_urls>"]}, ["blocking"] );Gracias, y disculpa de antemano si se me olvida algo.