SyntaxError:Parse Error仅在safari中发生

Jos*_*der 6 javascript safari jquery ruby-on-rails

我得到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>
Run Code Online (Sandbox Code Playgroud)

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

错误在第44行,即

export: {
Run Code Online (Sandbox Code Playgroud)

任何人都可以看到该页面有任何问题吗?

Adr*_*ien 9

以下词语用作建议扩展中的关键字,因此保留用于允许将来采用这些扩展的可能性.

class enum扩展了超级const导出导入

ECMAScript语言规范,第7.6.1保留字

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


CMS*_*CMS 6

这个词export是ECMAScript 未来保留字,在某些实现中使用此关键字作为标识符会导致语法错误.

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

//....
        "export": {
            "use": ["encode","encode_iphone"],
            "robot": "/s3/store"
        }
//....
Run Code Online (Sandbox Code Playgroud)

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