Authored by 梁志锋

增加页面错误信息上报的功能。

... ... @@ -133,7 +133,7 @@ var _yas = function(initTime, version, tid, uid, geo, selector) {
* 记录cookie, 待进入新页面后通过send方法将cookie中的鼠标记录发送并清空.
*
*/
if (selector[0]) {
if (selector && selector[0]) {
for (var i = 0, length = selector.length; i < length; i++) {
selector[i].setAttribute('yoho_index', (i +1));
}
... ... @@ -163,14 +163,36 @@ var _yas = function(initTime, version, tid, uid, geo, selector) {
});
}
onerror = handleErr;
var txt = "";
function handleErr(msg,url,l)
{
txt = "This page contains error! \n\n";
txt += "Error message is:" + msg + "\n";
txt += "URL is: " + url + "\n";
txt += "Line is:" + l + "\n\n";
var errString = JSON.stringify({'er': txt});
cookies('_yaserror', errString, {
path: '/',
domain: yasDomain,
expires: 365 * 200
});
return false;
}
};
function send(callback) {
var info = util.merge(appInfo, custInfo);
info = util.merge(info, browserInfo);
var mp = getMousePosition();
if (mp) {
info = util.merge(info, mp);
// 鼠标位置
var mpJson = getMousePosition();
if (mpJson) {
info = util.merge(info, mpJson);
cookies('_yasmp', null, {
path: "/",
domain: config.yasDomain,
... ... @@ -178,10 +200,11 @@ function send(callback) {
});
}
var _custjsonstr = cookies('_yascustjson');
if (_custjsonstr) {
var custjson = JSON.parse(_custjsonstr);
info = util.merge(info, custjson);
// 用户自定义信息
var _custJsonStr = cookies('_yascustjson');
if (_custJsonStr) {
var custJson = JSON.parse(_custJsonStr);
info = util.merge(info, custJson);
cookies('_yascustjson', null, {
path: "/",
domain: config.yasDomain,
... ... @@ -189,6 +212,18 @@ function send(callback) {
});
}
// 页面error信息
var _yasErrorStr = cookies('_yaserror');
if (_yasErrorStr) {
var errorJson = JSON.parse(_yasErrorStr);
info = util.merge(info, errorJson);
cookies('_yaserror', null, {
path: "/",
domain: config.yasDomain,
expires: 365 * 200
});
}
var param = util.genParam(info);
callback = callback ? callback : function () {
};
... ...
... ... @@ -6,7 +6,9 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="nico 0.5.1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script>
<script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
<script>
(
function(w,d,s,j,f)
{
... ...
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>yas-jssdk - Demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="generator" content="nico 0.5.1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script>
(
function(w,d,s,j,f)
{
w['YohoAcquisitionObject'] = f;
w[f] = function()
{
w[f].p=arguments;
};
var a=d.createElement(s);
var m=d.getElementsByTagName(s)[0];
a.async=1;
a.src=j;
m.parentNode.insertBefore(a,m);
}
)(window,document,'script','/dist/yas-jssdk/1.0.14/yas-debug.js','_yas');
_yas(1*new Date(),'1.0','ds6das2kkj','21323231','geo','');
function message()
{
adddlert("Welcome guest!")
}
</script>
</head>
<body style="height:2000px; width:800px; scroll:auto">
<a href="test3.html" onclick="message()">
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
<a href="test3.html" onclick="message()">
<img src="//img13.static.yhbimg.com/goodsimg/2016/04/23/07/02096525430e4340f60f23eb386ed54e90.jpg?imageView/2/w/235/h/314" style="display: block;">
</a>
</body>
</html>
\ No newline at end of file
... ...