我得到的是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: {
有人可以看到该页面有什么问题吗?
答案 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"
}
//....
此关键字可用于模块声明的未来: