我有误差缩小到以下的制造在谷歌浏览器不同的行为代码的组:FireFox和Google Chrome中的不同JavaScript对象字面行为?
示例代码:http://jnvxxx.appspot.com/rpc/static_server?key_=testjs.html
火狐输出:您好1 [对象的对象] 192您好2
铬输出:嗨1 [对象对象] undefined嗨2
任何想法很热,以获得在谷歌浏览器中工作的属性。
谢谢。
我有误差缩小到以下的制造在谷歌浏览器不同的行为代码的组:FireFox和Google Chrome中的不同JavaScript对象字面行为?
示例代码:http://jnvxxx.appspot.com/rpc/static_server?key_=testjs.html
火狐输出:您好1 [对象的对象] 192您好2
铬输出:嗨1 [对象对象] undefined嗨2
任何想法很热,以获得在谷歌浏览器中工作的属性。
谢谢。
您正在访问window.status
属性,该属性用于控制状态栏中的文本。参见:http://www.w3schools.com/jsref/prop_win_status.asp。
显然,必须首先在所有主流浏览器中打开此功能,因此显然不同的浏览器在关闭时会执行不同的操作。 Chrome将状态属性的值更改为string
,因此它变成了一个隐含但熟悉的字符串"[object Object]"
,它没有entry_count属性。 Firefox在status
属性中完整保留该对象。
底线:window.status
已被用于其他事情;为您的变量使用不同的名称。
编辑:
正如下面提到的,更好的方法做尽,这将是封装它的功能范围,只要你不打算反正在其他地方使用它:
(function() {
var myStatus = {...};
// Do something with myStatus, preferably not document.write ;)
}());
var a = typeof myStatus; // a === 'undefined'.
这样,变量将只在函数范围内可见。
你没有在任何地方使用JSON,只是JavaScript对象文字。 – 2011-01-08 09:01:24
@Matthew,对不起。其实我从json.dumps(python对象)获取这个JavaScript文字..这就是为什么我把它放在第一位JSON解析错误任务。 – ramu 2011-01-08 09:18:41