【问题标题】:Missing ":" using Algolia Instant Search使用 Algolia 即时搜索缺少“:”
【发布时间】:2018-12-04 13:36:47
【问题描述】:
SyntaxError: missing : after property id

我在使用 Firefox (Mac) 上的 Algolia Instant Search 的控制台中看到此错误。有人向我报告 IE11 在视觉上显示相同,但​​是,我不确定 IE 中的错误? Chrome 和 Safari 都没有错误。

当我反编译我的代码时,Firefox 指出这一行是罪魁祸首,但是,我不确定这是问题行吗?

const {container, placeholder, delayTime = 500, suggestionsIndex, mainIndex} = renderParams.widgetParams;

=====

更新

问题在于 delayTime 的设置方式,尽管我不能 100% 确定它应该如何设置。在短期内,我不会像上面设置的那样设置延迟时间。相反,我已经注释掉了 delayTime,并且我将调用它的地方替换为 500。

【问题讨论】:

    标签: algolia instantsearch


    【解决方案1】:

    InstantSearch 文档提供的示例似乎使用了一些语法,这些语法在您的浏览器附带的 JavaScript 版本中可能不可用。

    const {container, placeholder, delayTime = 500, suggestionsIndex, mainIndex} = renderParams.widgetParams;
    

    相当于(在现代浏览器中):

    const container = renderParams.widgetParams.container;
    const placeholder = renderParams.widgetParams.placeholder;
    const delayTime = renderParams.widgetParams.delayTime || 500;
    const suggestionsIndex = renderParams.widgetParams.suggestionsIndex;
    const mainIndex = renderParams.widgetParams.mainIndex;
    

    解决这些浏览器差异问题的常见解决方案是使用 Babeljs 将您的 JavaScript 代码转换为当前可用 JavaScript 版本的最低公分母。 Babel 的学习曲线一开始可能很陡峭,但它已成为交付适用于所有浏览器的代码的宝贵工具。

    【讨论】:

      猜你喜欢
      • 2018-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 2018-07-30
      • 1970-01-01
      • 2020-02-12
      • 2021-04-23
      相关资源
      最近更新 更多