ll100

我这里用 Javascript 来统计网页上的访问量, SDK 版本是 0.0.1. 统计的代码非常简单 var analytics = AV.analytics({ appId: "APP_ID", appKey: "APP_KEY" }); 但始终无法统计, 看 SDK 源代码上是页面离开后就会自动发送的. 但控制台始终给了 400 错误. 手工按照 SDK 的逻辑来执行, 服务器返回的结果是 400 Bad Request {"code":1,"error":"服务器内部错误,如有疑问请从帮助菜单进入社区提交问题,内部错误代码: As6J4Nhj"}

最新的进展是 我从 chrome 控制台里把, 那个错误的 xhr 复制出来通过 curl 就是可以执行成功的. 如果在那个 xhr 上选择右键 选择 Replay XHR 再执行一下 也是可以成功的. 看上去就只有第一次执行的时候无法成功.

测试了下还是有问题, 打开一个配置好的网页, 我们这里是 https://ll100.com 打开 web console 输入下面的代码触发页面 unload 的自动通知 var event = document.createEvent('Event'); event.initEvent('beforeunload', true, true); window.dispatchEvent(event); 目前还是会返回 下面的错误 POST https://api.leancloud.cn/1.1/stats/open/collect 400 (Bad Request) POST https:…

我这里并没有自己写任何逻辑, 只是按官方源代码触发了一下官方自带的 end() 函数. 由于自带的监听的是 beforeunload 函数, 所以需要模拟个 event 来测试 github.com leancloud/js-analytics-sdk/blob/master/src/AV.analytics.js#L202 // 监听 url 变化(包括 hash 变化) win.addEventListener('hashchange', function(e) { // 页面发生变化,发送一次页面统计 end(); // 再次启动新的统计 start(); }); // 当页面关闭的时候…

我刚刚有重新测试了下, 目前请求发布返回正常. 但昨天我回帖子的时候, 打开 https://ll100.com 这个网站 然后在 console.log 里输入 var event = document.createEvent('Event'); event.initEvent('beforeunload', true, true); window.dispatchEvent(event); 是会报错的.