Ottenere l'errore "net::ERR_BLOCKED_BY_CLIENT" su alcune chiamate AJAX

2022-05-31 23:00:13

Recentemente mi sono reso conto che alcune estensioni di blocco degli annunci (come adBlocker plus) bloccano alcune chiamate Ajax. Ottengo quell'errore sulla console:

GET http://localhost/prj/conn.php?q=users/list/ net::ERR_BLOCKED_BY_CLIENT 

Perché blocca alcune chiamate Ajax ma non le altre e quali sono le cause? Esiste una soluzione alternativa oltre a dire all'utente di disattivare il blocco degli annunci?

- s.alem

Source
Risposta


431
  • Gli AdBlocker di solito hanno delle regole, cioè associano gli URI a un certo tipo di espressione (a volte mettono anche il DOM in corrispondenza di espressioni, non che questo sia importante in questo caso).

    Avere regole ed espressioni che operano solo su un minuscolo pezzo di testo (l'URI) è incline a creare alcuni falsi positivi...

    Oltre a chiedere ai tuoi utenti di disabilitare le loro estensioni (almeno sul tuo sito), puoi anche ottenere l'estensione e testare quali regole/espressioni hanno bloccato i tuoi contenuti, a condizione che l'estensione fornisca dettagli sufficienti a riguardo. Una volta identificato il colpevole, puoi provare a evitare di attivare la regola utilizzando URI diversi, segnalare la regola come errata o eccessivamente ampia al team che l'ha creata, o entrambi. Controlla i documenti per un particolare componente aggiuntivo su come farlo.

    Ad esempio, AdBlock Plus ha una vista Elementi bloccabili che mostra tutti gli elementi bloccati su una pagina e le regole che hanno attivato il blocco. E questi elementi includono anche le richieste XHR.

    Elementi bloccabili