Json对象属性仅在IE8中未定义
Json object property undefined in IE8 only
我正在尝试迭代这个数组,以固定在地图上,在每个浏览器中,它似乎都能正常工作,但在IE8中,我得到了错误"SCRIPT5007:无法获取属性‘top’的值:object为null或未定义"。如果我将top更改为其他内容或删除它,IE只会对left或name等说同样的话。如果有人有任何建议,我们将不胜感激。
jQuery(document).ready(function(){
var pins = [
{ "name":"Mexico", "top":"154" , "left":"176", "imageFile":"Mexico.jpg", "soundMP3File":"Mexico_GMartinez_1.mp3", "soundOGGFile":"Mexico_GMartinez_1.ogg"},
{ "name":"Chile", "top":"261" , "left":"246", "imageFile":"Chile.jpg", "soundMP3File":"Chile_MVelasquez_1.mp3", "soundOGGFile":"Chile_MVelasquez_1.ogg"},
{ "name":"Trinidad and Tobago", "top":"182" , "left":"242", "imageFile":"TrinidadTobago.jpg", "soundMP3File":"Trinidad-Tobago_SHarris_1.mp3", "soundOGGFile":"Trinidad-Tobago_SHarris_1.ogg"},
{ "name":"Columbia", "top":"209" , "left":"227", "imageFile":"Columbia.jpg", "soundMP3File":"Colombia_JGordon_2.mp3", "soundOGGFile":"Colombia_JGordon_2.ogg"},
{ "name":"Canada", "top":"86" , "left":"208", "imageFile":"Canada.jpg", "soundMP3File":"Canada_KBretzer_1.mp3", "soundOGGFile":"Canada_KBretzer_1.ogg"},
];
for(var i = 0; i < pins.length; i++)
{
jQuery('#map #pins-container').append('<a href="#" class="pin" style="top: ' + pins[i].top + 'px; left:' + pins[i].left + 'px;" pinindex="' + i + '" name="' + pins[i].name + '"></a>');
}
});
@Guffa是对的。"Canada"行的尾部逗号无效。
IE是唯一一个真正会抱怨它的浏览器,但它在任何地方都是技术无效的。
为了避免类似的问题,您应该使用JSHint这样的工具,它将验证您的Javascript代码是否编码了常见错误,包括尾部逗号错误。
在IE中如果在最后一个JSON对象后使用逗号,这是IE6、IE7、IE8中的错误。
所以,永远记住这一点当你写Javascript时,JSON
相关文章:
- jquery validate 1.8.1”;jQuery"是未定义的错误IE8
- 对象不支持在调用 indexOf 定义的数组时 IE8 中未定义的此属性或方法
- 无法获取属性'的值;呼叫':对象为null或未定义IE8
- IE9中的有效输出,但IE7/IE8中的未定义输出
- Window.opener 未定义在 IE8 中
- 在IE8中查询未定义的变量
- IE8 中的 IE7 模式 - 本地存储不是未定义的
- ie8响应js'未定义'为null或不是对象
- IE8 javascript/jQuery中未定义的var
- "类型错误:对象没有´t支持这个未定义的动作“;Angular应用程序IE8中的错误
- IE8称原型's Form类未定义
- IE8 SCRIPT5007:无法获取属性'锁定'的未定义引用或null引用
- 'HTML元素'在IE8中未定义
- 试着打开窗户.URL在IE8中工作.得到未定义错误
- 设置窗口.在IE8中未定义的onbeforeunload原因"未实现错误
- IE8中控制台未定义问题
- 在IE8中非常奇怪的事情.定义的变量被识别为“未定义”
- 如何检查IE8中未定义的值
- Jquery attr('src')在ie8中未定义(在FF中工作)
- Rails清单资产是未定义的或不是对象,而IE8中的AJAX请求