2012-11-07 52 views
1

documentationChrome書籤API - 使用「移動」來重新排序書籤在同一文件夾

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重新排列同一文件夾中的書籤嗎? 因爲我們可以使用它,因爲'destination'對象中的'parentId'是可選的。

謝謝。

回答

0

試試這個:

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