首页 > 解决方案 > “未捕获的 SyntaxError:意外的标识符”错误

问题描述

我正在尝试制作一个简单的 chrome 扩展,<input>当单击上下文菜单(右键单击菜单)中的选项(“添加输入框”)时,它会向活动选项卡添加一个元素。

这是 background.js 文件。

//background.js

function createNewInput(info, tab){
   let input=document.createElement("input");
   input.style.position="fixed";
   input.style.left=0;
   input.style.top=0;
   input.style.width="100px";
   input.style.height="100px";
   input.style.background="green";
   chrome.tabs.executeScript({
      code: "document.body.appendChild(" + input + ");"
   });
}

chrome.contextMenus.create({
   "onclick": createNewInput,
   "title": "Add an input box"
});

这是 manifest.json 文件

//manifest.json
{
   "manifest_version" : 2,
   "name": "Test",
   "version": "0.1",
   "background": {
      "scripts": ["background.js"]
   },
   "permissions": [
      "contextMenus",
      "activeTab"
   ]
}

当我尝试从上下文菜单选项创建新输入时,我在控制台窗口(我尝试创建的页面)中收到 Uncaught SyntaxError: Unexpected identifier error。

我已经尝试过的事情

  1. <input>在开发工具控制台窗口中使用相同的代码手动添加。(作品) 代码 结果

  2. 检查任何不可见的字符(零宽度空格,如 unicode U+200b)。没有了。

  3. 检查 lint 问题。似乎没有。

标签: javascriptgoogle-chrome-extension

解决方案


推荐阅读