Chrome Bookmarks API -使用“Move”重新排序同一文件夹中的书签

35g0bw71  于 2023-05-11  发布在  Go
关注(0)|答案(1)|浏览(151)

从文档中

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相同),并将书签向上移动,即移动到新索引大于当前索引的位置
书签的合成位置是上面的一个位置,而不是我想要的位置。

例如-

如果我把书签移到上面(new Index < current Index),也就是说,如果我有一个书签在索引3,想把它移到上面,也就是索引1,这是没有问题的。
但是如果我移动书签下面(新索引>当前索引)即-如果我有一个书签在索引1,并希望将其移动到下面,即索引3书签被放置在2即(3-1)=(新索引-1)
我们可以使用'move' API来重新排序同一文件夹中的书签吗?我假设是这样,因为我们可以使用它,因为'destination'对象中的'parentId'是可选的。
谢谢

rjjhvcjd

rjjhvcjd1#

试试这个:

if(oldIndex < newIndex) newIndex++;
chrome.bookmarks.move(id, {index: newIndex});

相关问题