SyntaxError:Parse Error仅在safari中发生

时间:2010-05-20 00:55:16

标签: javascript jquery ruby-on-rails safari

我得到的是SyntaxError:Parse Error,仅适用于safari。这是有问题的代码。

<script type="text/javascript">
$(document).ready(function() {
    $("form").transload({
        auth: {key: "b7deac9c96af6c745e914e25d0350baa"},
        flow: {
            encode: {
                "use": ":original",
                "robot": "/video/encode",
                "preset": "flash",
                "width": 480,
                "height": 320
            },
            encode_iphone: {
                "use": ":original",
                "robot": "/video/encode",
                "preset": "iphone"
            },
            export: {
                "use": ["encode","encode_iphone"],
                "robot": "/s3/store"
            }
        }
    });
});
</script>

我正在使用transloadit一个jquery插件。它适用于其他所有页面,并且通过它的外观在safari上正常加载。

错误在第44行,即

export: {

有人可以看到该页面有什么问题吗?

2 个答案:

答案 0 :(得分:9)

  

以下词语在建议的扩展名中用作关键词,因此保留以供将来采用这些扩展名的可能性。

     

类枚举扩展了超级const导出导入

ECMAScript Language Specification 7.6.1保留字

部分

其他解释器可能对它们更加自由,这可能解释为它只在JavascriptCore(Safari的javascript解释器)中提供SyntaxError

答案 1 :(得分:6)

单词export是ECMAScript future reserved word,在某些实现中,使用此关键字作为标识符导致语法错误。

但是,您只需使用字符串文字,而不是标识符:

//....
        "export": {
            "use": ["encode","encode_iphone"],
            "robot": "/s3/store"
        }
//....

此关键字可用于模块声明的未来