无法找出为什么我回来未定义

时间:2015-03-26 13:40:22

标签: javascript html

下面的代码是获取google analytics dataLayer对象并显示它。但当我将代码作为书签运行时,我总是得到11或确切的项目数作为未定义。

var newWindow = open('',width=500,height=500);

newWindow.document.write("<html><head></head><body><input value='REFRESH!' type='button' id='button'><br></body></html>");

var button = newWindow.document.getElementById('button');

var dataArray = [];

button.onclick = function() {
    dataArray = (dataLayer);
    for(var key in dataArray){
        var obj = dataArray[key];
        for(var i in obj){
            newWindow.document.writeln(dataArray[i]);
        }
    }
};

有人能指出我正确的方向吗?我错过了什么?

修改

点击按钮时使用简单的for循环;

    for (var i = 0; i < dataLayer.length; i++) {
    dataArray[i] = (dataLayer[i]);
    console.log(dataArray[i]);
}

我能够在父控制台上显示所有数据。

1 个答案:

答案 0 :(得分:1)

您正在迭代dataArray元素中的所有元素。但是你打印了dataArray的索引。尝试

 dataArray[key][i]

 obj[i]