SyntaxError: Ошибка разбора происходит только в сафари - PullRequest
6 голосов
/ 20 мая 2010

Я получаю SyntaxError: Parse Error, только в сафари. Вот код, о котором идет речь.

<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: {

Кто-нибудь может увидеть что-то не так с этой страницей?

Ответы [ 2 ]

9 голосов
/ 20 мая 2010

Следующие слова используются в качестве ключевых слов в предлагаемых расширениях и поэтому зарезервированы для обеспечения возможности последующего принятия этих расширений.

Перечисление класса расширяет экспорт экспорта const

Спецификация языка ECMAScript , раздел 7.6.1 Зарезервированные слова

Другие интерпретаторы могут быть более либеральными в их отношении, что может объяснить, что он дает SyntaxError только в JavascriptCore (интерпретатор javascript в Safari).

6 голосов
/ 20 мая 2010

Слово export представляет собой ECMAScript будущее зарезервированное слово , в некоторых реализациях использование этих ключевых слов в качестве идентификаторов приводит к синтаксическим ошибкам.

Однако вы можете просто использовать строковый литерал вместо идентификатора:

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

Это ключевое слово может использоваться в будущем для объявлений модуля :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...