vue2使用会报错
Yowi opened this issue · 3 comments
Yowi commented
M-cheng-web commented
你好,请提供sdk版本号、使用场景、步骤等等,你可以自己在 https://github.com/M-cheng-web/web-tracing-examples-vue2 demo项目中试试是否正常
Yowi commented
你好,请提供sdk版本号、使用场景、步骤等等,你可以自己在 https://github.com/M-cheng-web/web-tracing-examples-vue2 demo项目中试试是否正常
环境
"@web-tracing/vue2": "^2.0.3"
"vue": "^2.7.14",
代码
// main.js
import WebTracing from "@web-tracing/vue2";
Vue.use(WebTracing, {
dsn: '/trackweb',
appName: "cxh",
recordScreen: false,
pv: true,
performance: true,
error: true,
event: true,
localization: true,
sendTypeByXmlBody: true,
afterSendData(data) {
console.log(data);
},
});
问题
其他建议
对于 ajax 请求或者 navigator.sendBeacon 方式都有必要添加 headers 请求头,比如设置 Authorization
还是挺常见的,希望加上对应参数或者可以通过外部传入自定义请求方式进行请求,类似:
{
...,
onDsn: (params) => aixos.post("/trackweb", params, {headers: {}})
}
const reportData = (url, data) => {
const blob = new Blob([JSON.stringify(data), {
type: 'application/x-www-form-urlencoded',
}]);
navigator.sendBeacon(url, blob);
};
{
...,
onDsn: (params) => reportData("/trackweb",params);
}
M-cheng-web commented
谢谢你将问题具体化,也感谢提出建议;
问题一:这个警告问题我也很早遇到过,早期怀疑是引入的两个本地化插件有问题,但具体还有待仔细排查下
问题二:我这边在 项目更新到 2.0.3版本看了下,并没有复现你的,你是否在这中间有其他操作
针对你提的建议,sdk提供了自定义请求方式,具体使用:
beforeSendData(data) { // 返回false代表sdk不再发送 // axios.post('/trackweb', data) // return false return data }
end. 期待你提出更多建议~