5

文档

chrome.bookmarks.move(string id, object destination, function callback)
Moves the specified BookmarkTreeNode to the provided location

id ( string )
destination ( object )
    index ( optional integer )
    parentId ( optional string )
callback ( optional function )
chrome.bookmarks.move(string id, object destination, function callback)
Parameters

API 在以下情况下按预期工作,

如果我将书签移动到不同的文件夹,移动到任何位置(索引) - 如果我在文件夹中移动书签并将书签向上移动 - 即到新索引小于当前索引的位置 -

API 不起作用 - 当 -

如果我在文件夹中移动书签(即 parentId 相同)并将书签向上移动 - 即新索引大于当前索引的位置

书签的结果位置是上面的一个位置,而不是我想要的位置..

例如 -

api 没有问题如果我将书签移到上面(新索引 < 当前索引),即 - 如果我在索引 3 处有一个书签并且想要将它移到上面,即索引 1,这可以正常工作。

但是,如果我将书签移到下方(新索引>当前索引),即-如果我在索引 1 处有一个书签,并且想将其移动到下方,即索引 3 书签被放置在 2 即(3-1) =(新索引 - 1)

我们可以使用“移动”API 对同一文件夹中的书签重新排序吗?我假设是因为我们可以使用它,因为“目标”对象中的“parentId”是可选的。

谢谢。

4

1 回答 1

3

尝试这个:

if(oldIndex < newIndex) newIndex++;
chrome.bookmarks.move(id, {index: newIndex});
于 2014-11-06T19:51:48.070 回答