0

我正在尝试将子书签添加到另一个书签。我意识到这听起来很奇怪,但它有一个用途。问题是我遇到了一个例外,“bookmarks.create:找不到 id 的书签。”

例外是因为 Chrome 不喜欢我将孩子添加到书签(而不是文件夹)的事实,还是有其他原因导致此异常?

var cmark = new CrexModule.Cmark();
cmark.parentId = pid; // !!! this cause the add to fail with bookmarks.create: Can't find bookmark for id.
cmark.title = cmarkc.note;
cmark.url = "http://foo.bar.com";
chrome.bookmarks.create(cmark, function (c) {console.log("child added "+c)});

此代码因“bookmarks.create: Can't find bookmark for id.”而失败。pid 是书签的 id,我已经验证它存在。

如果我注释掉设置 parentId,则在默认文件夹中成功创建书签。

4

2 回答 2

1

书签树中的每个项目要么是一个文件夹,要么是一个书签。书签不能有子级。文件夹可以有子级。

标识的项目很可能pid不是文件夹,而是常规书签。您可以通过检查pid对象是否具有空url属性来验证这一点。书签有url属性,文件夹没有。

于 2013-10-08T20:07:59.363 回答
0

实际上,如果您查看浏览。在它的图形用户界面上。不存在任何可以在制作书签时创建书签列表的功能。您所做的是,您创建一个文件夹并在其中添加书签。

如果您试图为导航目的保留历史记录。使用 JavaScript 函数。一个是

window.history.back(-1);

在这里查看其他一些方法:

http://ntt.cc/2008/01/21/5-ways-to-redirect-url-with-javascript.html

于 2013-10-08T19:26:51.667 回答