Google Search Console Error: Uncaught SyntaxError: Unexpected token function
Google Search Console Error: Uncaught SyntaxError: Unexpected token function
我这里有语法错误吗?
<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 标记页面有两个错误:
- 未捕获的语法错误:意外的标记函数
https://reviews.rater8.com/webwidget/sample.html:12
(也就是关键字'async'后面的关键字'function'。)
- 未捕获的 ReferenceError:未定义 showWidget
https://reviews.rater8.com/webwidget/sample.html:20
自然地,如果函数定义没有被解析,那么函数就不会被定义。我可以通过删除关键字 async 来消除解析错误,但函数无法正确执行!
下面是如何在不使用 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 能够看到通过这种方法生成的内容。
我这里有语法错误吗?
<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 标记页面有两个错误:
- 未捕获的语法错误:意外的标记函数 https://reviews.rater8.com/webwidget/sample.html:12
(也就是关键字'async'后面的关键字'function'。)
- 未捕获的 ReferenceError:未定义 showWidget https://reviews.rater8.com/webwidget/sample.html:20
自然地,如果函数定义没有被解析,那么函数就不会被定义。我可以通过删除关键字 async 来消除解析错误,但函数无法正确执行!
下面是如何在不使用 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 能够看到通过这种方法生成的内容。