Google Search Console错误:语法未正确错误:令牌功能意外

时间:2019-01-28 18:15:47

标签: javascript asynchronous googlebot google-search-console

我这里有语法错误吗?

<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 Search Console来查看为什么,但发现Google标记网页时出现两个错误:

  1. 未捕获到的SyntaxError:意外的令牌功能 https://reviews.rater8.com/webwidget/sample.html:12

(即关键字“异步”之后的关键字“功能”。)

  1. 未捕获的ReferenceError:未定义showWidget https://reviews.rater8.com/webwidget/sample.html:20

自然,如果不解析函数定义,则不会定义该函数。我可以通过删除关键字async来消除解析错误,但是该函数无法正确执行!

1 个答案:

答案 0 :(得分:1)

这是在不使用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可以查看通过这种方法生成的内容。