在属性列表之后丢失}

时间:2011-01-18 16:51:50

标签: javascript jquery json

我正在尝试在我的一个网站中使用jQuery实现内容滑块;但是我一直收到这个错误:

missing } after property list

这是我的代码:

<script type='text/javascript'>

featuredcontentslider.init({
id: 'slider1',  
contentsource: ['inline', ''],  
toc: '#increment',  
nextprev: ['prev', 'next'], 
revealtype: 'click', 
enablefade: [true, 0.1],  
autorotate: [true, 3000]
});
</script>

当我点击Firefox中的视图源时,我发现最后一个花括号丢失,但在文件中代码很好,并且使用firebug调试控制台我得到了这个错误:

missing } after property list

我尝试了很多东西,搜索了缺少的逗号,消除了大部分行,但找不到问题的根源。

编辑: Firebug指向这一行:

});

作为有错误的人。

我刚刚检查了IE8,Chrome和firefox中的脚本,并且在所有三个浏览器中我都得到了这样的代码:

<script type='text/javascript'>

featuredcontentslider.init({
id: 'slider1',  
contentsource: ['inline', ''],  
toc: '#increment',  
nextprev: ['prev', 'next'], 
revealtype: 'click', 
enablefade: [true, 0.1],  
autorotate: [true, 3000]
);  <---- notice the missing bracket
</script>

我也尝试过只写一行:

featuredcontentslider.init({  id: 'slider1'  });

仍然以同样的错误结束。在localhost中,脚本运行正常,但在实际网站中脚本运行正常。

我想知道页面中的其他js代码是否有可能影响这个代码的行为?

3 个答案:

答案 0 :(得分:3)

嗯......这闻起来有点像网站缓存错误。

也许}一次丢失了,即使您修复了它,您的网站仍在提供旧文件。

你试过了吗?

  • 清除浏览器中的缓存? (看看它是否是浏览器方面)
  • 使用curlwget查看原始javascript文件(以查看是否存在过时的服务器端缓存)

答案 1 :(得分:2)

当属性列表被“;”意外关闭时,通常会发生这种情况。 看一下下面的例子(产生相同的错误):

$('#test').dialog({
    autoOpen: true,
    resizable: true,
    draggable: true,
    width:530,
    modal: true,
    closeOnEscape: true,
    show: {
        effect: 'blind',
        duration: 1000
    },
    hide: {
        effect: 'fold',
        duration: 1000
    });
});

The ;;之后

hide: { ... }); 

应该删除。

答案 2 :(得分:1)

好的我通过添加一个额外的花括号解决了这个问题,但我不确定为什么解决了这个问题。我的最终脚本如下所示:

<script type='text/javascript'>

featuredcontentslider.init({
id: 'slider1',  
contentsource: ['inline', ''],  
toc: '#increment',  
nextprev: ['prev', 'next'], 
revealtype: 'click', 
enablefade: [true, 0.1],  
autorotate: [true, 3000]
   } <--- notice the extra bracket
});
</script>

并且它是跨浏览器兼容的:)