Вы получаете доступ к свойству window.status
, которое используется для управления текстом в строке состояния. См.: http://www.w3schools.com/jsref/prop_win_status.asp.
Очевидно, эта функция должна быть включена во всех основных браузерах, поэтому, по-видимому, разные браузеры делают разные вещи, когда выключены. Chrome изменяет значение свойства status на string
, поэтому он становится загадочной, но знакомой строкой "[object Object]"
, которая не имеет свойства entry_count. Firefox оставляет объект неповрежденным в свойстве status
.
Итог: window.status
уже используется для чего-то еще; используйте другое имя для своей переменной.
EDIT:
Как упомянуто ниже, еще лучший способ сделать все это сделать будет инкапсулировать его в области видимости функции, до тех пор, пока вы не собираетесь использовать его в других местах, так или иначе:
(function() {
var myStatus = {...};
// Do something with myStatus, preferably not document.write ;)
}());
var a = typeof myStatus; // a === 'undefined'.
Таким образом, переменная будет видна только в пределах области действия.
Вы не используете JSON нигде, просто литералы объектов JavaScript. –
@Matthew, Извините. На самом деле, я получаю этот javascript-литерал от json.dumps (объект python). Вот почему я положил JSON на поиски ошибок в 1-м месте. – ramu