SyntaxError:Parse Error仅在safari中发生

我得到SyntaxError:Parse Error,仅在safari上。 这是有问题的代码。

 $(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" } } }); });  

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

错误在第44行,即

 export: { 

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

以下单词在建议的扩展中用作关键字,因此保留以允许将来采用这些扩展。

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

ECMAScript语言规范 ,第7.6.1保留字

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

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

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

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

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

  • 简单模块