При создании новых закладок в Firefox с использованием API bookmarks.create () из Firefox Web Extensions порядок, в котором новые созданные закладки / подпапки помещаются в родительскую папку (управляется свойством index) закладка) неверна.
Если в родительской папке нет закладок / подпапок, то для свойства «index» для всех вновь создаваемых закладок API устанавливает значение 0.
В случае, если в родительской папке имеется 5 существующих закладок, например, свойство 'index' для первых 5 вновь созданных закладок установлено правильно - скажем, от 0 до 4, как во входных данных. Свойство index для всех последующих закладок после no. 5 снова устанавливается как 0.
function testOnBookmarkCreated(node) {
console.log('Inside testOnCreatedBookmark');
console.log(node);
}
function testBookmarkCreation() {
for (let i = 0; i < 5; i++) {
console.log("calling browser.bookmarks.create");
var testBookmark = browser.bookmarks.create( {
index: i,
parentId: 'toolbar_____',
title: 'testName',
url: 'http://testURL'
});
testBookmark.then(testOnBookmarkCreated);
}
}
В идеале , свойство index для каждой закладки должно быть установлено правильно с первого запуска кода. Однако свойство индекса задано неправильно для первого прохода, а затем правильно установлено для второго прохода.
Первый прогон - Вывод: 'index' неправильно установлен в 0 для всех закладок -
calling browser.bookmarks.create popup_v2.js:496:13
Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "Jcr-x-lF8PYy", title: "testName", **index: 0**, dateAdded: 1561620807650, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11
Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "8ljfDMuh-o-q", title: "testName", **index: 0**, dateAdded: 1561620807651, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11
Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "gofKPh9HNGBc", title: "testName", **index: 0**, dateAdded: 1561620807651, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11
Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "5DlcwJ2SvhHF", title: "testName", **index: 0**, dateAdded: 1561620807652, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11
Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "AvsjIgR5Gdcs", title: "testName", **index: 0**, dateAdded: 1561620807653, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11
Второй прогон , сразу после создания первого набора из 5 закладок - Вывод: 'index' правильно установлен в 0-4 для 5 закладок -
Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "9LBw0vByVxqG", title: "testName", **index: 0**, dateAdded: 1561620820045, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11
Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "G69Ojwtrvdcj", title: "testName", **index: 1**, dateAdded: 1561620820047, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11
Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "4BwXhyQghwYa", title: "testName", **index: 2**, dateAdded: 1561620820048, type: "bookmark", url: "http://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11
Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "z88JWTZXHlZD", title: "testName", **index: 3**, dateAdded: 1561620820048, type: "bookmark", url: "htt [changed for SO guidelines]p://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11
Inside testOnCreatedBookmark popup_v2.js:477:11
Object { id: "09NMoLidnLvl", title: "testName", **index: 4**, dateAdded: 1561620820049, type: "bookmark", url: "htt [changed for SO guidelines] p://testurl/", parentId: "toolbar_____" }
popup_v2.js:478:11