书签上有孩子吗? “bookmarks.create:无法找到id的书签。”

时间:2013-10-08 19:12:36

标签: google-chrome-extension

我正在尝试将子书签添加到另一个书签。我意识到这听起来很奇怪,但它有用处。问题是我得到一个例外,“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:找不到id的书签”失败。 pid是书签的ID,我已经验证了它。

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

2 个答案:

答案 0 :(得分:0)

实际上,如果你看一下浏览器。在它的GUI上。没有任何此类功能,您可以在制作书签时创建书签列表。你要做的是,你创建一个文件夹并在里面添加书签。

如果您尝试保存历史记录以用于导航目的。使用JavaScript函数。一个是

window.history.back(-1);

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

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

答案 1 :(得分:0)

书签树中的每个项目都是文件夹或书签。书签不能有孩子。文件夹可以有孩子。

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