【问题标题】:Adblocker blocks XMLHttpRequest广告拦截器阻止 XMLHttpRequest
【发布时间】:2020-12-07 12:00:51
【问题描述】:

我理解这样一个事实,即广告拦截器稍后会尝试拒绝加载(图像)数据。无论如何,我想将一些数据发送到 php 脚本 (/log.php) 以将其保存在 sql 数据库中。所以实际上我并不关心响应文本。这是我当前用来调用 php 脚本的 js 函数:

function log(id, unix_ms, frameid, eventtype, targetid, value){
var parameters = "";
parameters = parameters.concat("id=", encodeURI(id), "&unix_ms=", encodeURI(unix_ms), "&frameid=", encodeURI(frameid), "&eventtype=", eventtype, "&targetid=", targetid, "&value=", value);

var httprequest = new XMLHttpRequest();
httprequest.open("POST", "/scripts/log.php", true);
httprequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
httprequest.onreadystatechange = function() {
    if(httprequest.readyState == 4 && http.status == 200) {
        console.log(httprequest.responseText);
    }
}
httprequest.send(parameters);
}

我可以改变什么来通过广告拦截器?我的意思是 facebook 大量使用 ajax 之类的东西来加载时间线中的文本甚至图像。

有没有办法在后台使用框架,因为我不关心答案?

【问题讨论】:

  • 您使用的是哪个广告拦截器?此外,它阻止同源请求也很奇怪;除非您的域具有非常可疑的名称或类似名称,否则不应发生这种情况
  • 是的,我发誓它在不久前就起作用了……我正在使用 UBlock Origin。域名目前是 localhost。
  • UBO 带有一个记录器(窗口底部的第三个图标);你检查了吗?
  • 路径/scripts/log.php是真实路径,还是只是为了发帖而编造的?
  • 这是我的建议:1) 关闭localhost 的广告拦截 2) 在实际主机上测试代码

标签: javascript xmlhttprequest adblock


【解决方案1】:

按照评论中的建议分析日志后,我发现 log.php 似乎在阻止列表中,即使它在同一台服务器上。因此,将您的 php 文件命名为更复杂一点以避免这种情况。

log.php -> 提交日志.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-17
    • 2017-07-21
    • 2018-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多