Ошибка консоли поиска Google: необработанная ошибка синтаксиса: неожиданная функция токена - PullRequest
0 голосов
/ 28 января 2019

Есть ли здесь синтаксическая ошибка?

<script type="text/javascript">
    async function showWidget(physicianId, locationId, format)
    {
        var response = await fetch('https://reviews.rater8.com/webwidget/api/ratingsummary/' + physicianId + '?format=' + format);
        var snippet = await response.text();
        document.getElementById(locationId).innerHTML = snippet;
    }
</script>

Эта функция работает, вы можете увидеть страницу вживую по адресу:

https://reviews.rater8.com/webwidget/sample.html

Однако Googleне видит контент, который я вставляю на страницу динамически, через функцию.Я использовал консоль поиска Google, чтобы выяснить, почему нет, и обнаружил, что Google помечает страницу двумя ошибками:

  1. Uncaught SyntaxError: Неожиданная функция токена https://reviews.rater8.com/webwidget/sample.html:12

(Это ключевое слово «function» после ключевого слова «async».)

Uncaught ReferenceError: showWidget не определен https://reviews.rater8.com/webwidget/sample.html:20

Естественно, если определение функции не анализируется, то функция не будет определена.Я могу устранить ошибку синтаксического анализа, удалив ключевое слово async, но тогда функция не будет работать должным образом!

1 Ответ

0 голосов
/ 28 января 2019

Вот как можно выполнить работу без использования механизма ожидания javascript.

<script type="text/javascript">
    function showWidget(physicianId, locationId, format)
    {
        fetch('https://reviews.rater8.com/webwidget/api/ratingsummary/' + physicianId + '?format=' + format)
            .then(function (response) {
                response.text()
                    .then(function (snippet) {
                        document.getElementById(locationId).innerHTML = snippet;
                    })
            })
    }
</script>

Google может просматривать контент, созданный с помощью этого подхода.

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