Javascript 未捕获引用错误:未定义书签栏

Javascript 未捕获引用错误:未定义书签栏,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我是新的javascript,目前正在尝试编写我的第一个扩展。然而,我遇到了一个似乎无法修复的错误。我相信我遗漏了一些小东西,也许是一些句法上的东西。这是我的代码和清单文件 const lis1 = document.getElementById("newTrain"); lis1.addEventListener("click", createNew); function createNew() { chrome.bookmarks.create({ parentId

我是新的javascript,目前正在尝试编写我的第一个扩展。然而,我遇到了一个似乎无法修复的错误。我相信我遗漏了一些小东西,也许是一些句法上的东西。这是我的代码和清单文件

const lis1 = document.getElementById("newTrain");
lis1.addEventListener("click", createNew);

function createNew() {
    chrome.bookmarks.create({
        parentId: bookmarkBar.id,
        title: getName()
    }, function (newFolder) {
        console.log("added folder: " + newFolder.title);
    });
}

/**
 * Gets the name of the train to be created.
 */
function getName() {
    return prompt("Enter a name for the new train of thought");

}
清单-我意识到这里可能不需要某些权限

{
  "manifest_version": 2,
  "name": "Train of thought",
  "version": "1.0",
  "description": "An extension of the pickup where you left off feature in Chrome.",
  "author": "Derrick Wright",
  "permissions": [
    "tabs",
    "storage",
    "bookmarks",
    "declarativeContent",
    "notifications",
    "activeTab"
  ],
  "background": {
    "scripts": ["background.js"],
    "persistent": false
  },
  "browser_action": {
    "default_icon": {
      "16": "images/get_started16.png",
      "32": "images/get_started32.png",
      "48": "images/get_started48.png",
      "128": "images/get_started128.png"
    },
    "default_title": "Train of thought",
    "default_popup": "popup.html"
  }
}

编辑:以下是我目前正在尝试的


const lis1 = document.getElementById("newTrain");
lis1.addEventListener("click", createNew);

function createNew() {
    chrome.bookmarks.create({
        parentId: this.parentId,
        title: getName()
    }, function (newFolder) {
        console.log("added folder: " + newFolder.title);
    });
}
/**
 * Gets the name of the train to be created.
 */
function getName() {
    return prompt("Enter a name for the new train of thought");

}

/**
 * Creates a root folder for extension. Creates folder in bookmarks.
 */
function createRoot() {
    chrome.bookmarks.create({
        parentId: "1", 
        title: 'Train of thought'
    });
}

我正在尝试将任何新文件夹分配给我创建的根目录的子目录

编译器写道,它找不到您声明它的“书签栏”。它还应该具有id属性,但由于没有定义“bookmarkBar”,因此它没有“id”属性。编译器写到,它找不到您声明它的“bookmarkBar”。它还应该具有id属性,但由于未定义“bookmarkBar”,因此它没有“id”属性

删除
parentId
参数,因为它在创建新文件夹时不存在。
id
是在创建文件夹后生成的


使用
console.log(“文件夹id为”+newFolder.id)
获取id。您可以在书签管理器->其他书签中查看创建的文件夹。

删除
parentId
参数,因为它在创建新文件夹时不存在。
id
是在创建文件夹后生成的


使用
console.log(“文件夹id为”+newFolder.id)获取id。您可以在书签管理器->其他书签中查看创建的文件夹。

书签栏不存在,因此代码不知道bookmarkBar.id是什么。是的,好的,我想这很明显。我不确定如何处理参数parentId,但这确实给了我一个方向。谢谢看起来parentId应该是添加此书签的父文件夹的名称,类似于这样。所以你可以试着把它作为你的扩展名。我很想这样做,但我不完全确定怎么做。我将更新代码以显示我当前正在尝试的内容。我创建这个根文件夹,我创建并分配任何新文件夹作为它的子文件夹。bookmarkBar不存在,所以代码不知道bookmarkBar.id是什么。是的,好吧,我想这很明显。我不确定如何处理参数parentId,但这确实给了我一个方向。谢谢看起来parentId应该是添加此书签的父文件夹的名称,类似于这样。所以你可以试着把它作为你的扩展名。我很想这样做,但我不完全确定怎么做。我将更新代码以显示我当前正在尝试的内容。我创建此根文件夹我创建并分配任何新文件夹作为其子文件夹。