Я получаю SyntaxError: Ошибка анализа, только на сафари. Вот рассматриваемый код.
<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. который работает на любой странице и загружается прекрасный на сафари взглядами его.
Ошибки находятся на строке 44, который является
export: {
Кто-либо может видеть что-то не так с той страницей?
Следующие слова используются в качестве ключевых слов в предлагаемых расширениях и поэтому зарезервированы для обеспечения возможности принятия этих расширений в будущем.
class enum extends super const export import
Спецификация языка ECMAScript , раздел 7.6.1 Зарезервированные слова
Другие интерпретаторы могут быть более либеральными в отношении них, что может объяснить, что он дает только SyntaxError
в JavascriptCore (интерпретатор JavaScript в Safari).
Слово export
является зарезервированным словом ECMAScript future, в некоторых реализациях использование этого ключевого слова в качестве идентификатора вызывает SyntaxErrors.
Однако вы можете просто использовать строковый литерал вместо идентификатора:
//....
"export": {
"use": ["encode","encode_iphone"],
"robot": "/s3/store"
}
//....
Это ключевое слово может использоваться в будущем для объявления модулей: