统计代码会部署在网站的全局页脚,无法保证所有页面都提供了相关的变量和参数,所以统计代码的健壮性非常重要,读取前要检查,必要时指定默认值。
全局变量声明:
var _gaq = _gaq || [];
函数内,全局变量声明:
function foo() {
window._gaq = window._gaq || [];
}
函数内,读取全局的变量值:
// 如果全局变量没有声明,函数内的局部变量会赋一个默认值,且不会影响全局变量:
function foo() {
var page_type = window.page_type || "(empty)";
}
检查变量是否已声明:
if (window.page_type == undefined) {
}
或
if (window["page_type"] == undefined) {
}
或
if (typeof(page_type) != "undefined") {
}
检查函数是否已声明:
// 考虑到统计代码一般会部署在独立的js文件里
// 所以页面里,调用统计代码里声明的函数,也应该用类似的方式调用
if (typeof(on_reg_succ) == "function") {
on_reg_succ();
}