You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

遵循Chrome扩展教程时遇'Uncaught SyntaxError: missing )'错误求助

解决Chrome扩展中Uncaught SyntaxError: missing )的问题

看起来你遇到的语法错误虽然指向chrome.storage.sync.get的调用,但大概率不是这段代码本身的问题——你贴出来的两段代码括号都是闭合的,get的两种写法(传字符串键名或数组键名)也都是符合Chrome API规范的。

下面是几个最可能的排查方向,按优先级来:

  • 检查这段代码之前的JS语法
    很多时候,这类“缺失括号”的错误是因为前面的代码有未闭合的结构(比如未闭合的{(,或者没写完的字符串引号),导致浏览器解析到这段代码时混乱报错。比如如果前面有类似let btn = document.querySelector('#myBtn'(少了闭合括号),或者const message = 'Hello world(少了闭合引号),都会触发后续代码的语法错误。

  • 用Chrome开发者工具定位准确的错误行
    打开扩展的弹出页或背景页的开发者工具,看Console里的错误提示,点击错误信息里的行号链接,直接跳转到报错的位置。有时候报错行号会指向你的chrome.storage调用,但实际问题在该行的前几行。

  • 隔离测试代码
    暂时把其他JS代码全部注释掉,只保留你修改后的测试代码:

    chrome.storage.sync.get(['color'], function(data) { 
      console.log('Value currently is ' + data.color); 
    }); 
    

    重新加载扩展,如果错误消失了,就说明是被注释掉的代码里有语法问题,逐段恢复排查即可。

  • 检查扩展Manifest的权限声明
    虽然这个不会导致语法错误,但提前确认一下manifest.json里是否声明了storage权限:

    {
      "permissions": ["storage"]
    }
    

    避免后续运行时出现权限问题。

内容的提问来源于stack exchange,提问作者Umami_The_Fifth

火山引擎 最新活动