Полезная информация

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№110102-03-2016 21:08:08

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 38.0

Re: Обсуждение кнопок CB

Ув.разработчики подскажите пожалуйста код для закрытия вкладки по двойному клику правой кнопкой в любом месте на открытой странице.

Отсутствует

 

№110202-03-2016 21:12:04

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

Stakhovsky пишет

Ув.разработчики подскажите пожалуйста код для закрытия вкладки по двойному клику правой кнопкой в любом месте на открытой странице.

В инициализацию:

Выделить код

Код:

addEventListener("dblclick", e=> e.button > 1 && gBrowser.removeCurrentTab(), false, gBrowser);

Отсутствует

 

№110302-03-2016 22:03:12

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 38.0

Re: Обсуждение кнопок CB

Большое спасибо.

Отсутствует

 

№110402-03-2016 22:05:02

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: Firefox 44.0

Re: Обсуждение кнопок CB

bunda1 пишет

Наверно можно и не сложно, но я не знаю что за функция Firefox добаляет закладки через звёздочку :/

Жаль :(


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№110502-03-2016 23:48:23

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2249
UA: Firefox 38.0

Re: Обсуждение кнопок CB

bunda1 пишет

я не знаю что за функция Firefox добаляет закладки через звёздочку :/

:/ BookmarkingUI.onCommand

Отсутствует

 

№110603-03-2016 01:41:13

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: unknown 0.0

Re: Обсуждение кнопок CB

Dumby
А не могли бы подсказать код? :blush:


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№110703-03-2016 02:42:56

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 38.0

Re: Обсуждение кнопок CB

bunda1 пишет
Stakhovsky пишет

Ув.разработчики подскажите пожалуйста код для закрытия вкладки по двойному клику правой кнопкой в любом месте на открытой странице.

В инициализацию:

Выделить код

Код:

addEventListener("dblclick", e=> e.button > 1 && gBrowser.removeCurrentTab(), false, gBrowser);

bunda1, после закрытия вкладки, на следующей остается открытым контекстное меню, можно ли это поправить?

Отсутствует

 

№110803-03-2016 08:20:14

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

Stakhovsky пишет

bunda1, после закрытия вкладки, на следующей остается открытым контекстное меню, можно ли это поправить?

Выделить код

Код:

addEventListener("dblclick", e=> {
   e.button > 1 && gBrowser.removeCurrentTab();
   setTimeout(()=> document.getElementById("contentAreaContextMenu").hidePopup(), 20);
}, false, gBrowser);

Добавлено 03-03-2016 08:27:29

Dumby пишет
bunda1 пишет

я не знаю что за функция Firefox добаляет закладки через звёздочку :/

BookmarkingUI.onCommand

Dumby, насчёт BookmarkingUI.onComman я конешно был курсе, но эта команда запускает PlacesCommandHook.bookmarkCurrentPage а та PlacesCommandHook.bookmarkPage а та:

Выделить код

Код:

function () {
"use strict";

    let result = aTask;
    if (aTask && typeof(aTask) == "function") {
      if (aTask.isAsyncFunction) {
        throw new TypeError(
          "Cannot use an async function in place of a promise. " +
          "You should either invoke the async function first " +
          "or use 'Task.spawn' instead of 'Task.async' to start " +
          "the Task and return its promise.");
      }

      try {
        // Let's call into the function ourselves.
        result = aTask.apply(this, arguments);
      } catch (ex) {
        if (ex instanceof Task.Result) {
          return Promise.resolve(ex.value);
        }
        return Promise.reject(ex);
      }
    }

    if (isGenerator(result)) {
      // This is an iterator resulting from calling a generator function.
      return new TaskImpl(result).deferred.promise;
    }

    // Just propagate the given value to the caller as a resolved promise.
    return Promise.resolve(result);

А с этим кодом я уже не знаю что делать, не понятно как он добавляет закладку.

Отредактировано bunda1 (03-03-2016 08:27:29)

Отсутствует

 

№110903-03-2016 10:11:30

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 38.0

Re: Обсуждение кнопок CB

Спасибо.

Отсутствует

 

№111003-03-2016 10:55:55

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2249
UA: Firefox 38.0

Re: Обсуждение кнопок CB

bunda1 пишет

Dumby, насчёт BookmarkingUI.onComman я конешно был курсе, но ...

Ну, вот так бы сразу и сказал. :)

скрытый текст
Мне и самому не нравится такое отображение в DOM Inspector'е.

Но, если интересно, то открой
chrome://browser/content/browser.js
поиск:
var PlacesCommandHook = {

Я, кстати, не смог понять что хочет Кот.
Как думаешь, это что-то типа такого (набросок), или нет?

Выделить код

Код:

(({panel}, prefName) => {

    cbu.isPref(prefName, PlacesUtils.unfiledBookmarksFolderId);
    addDestructor(reason => reason == "delete" && Services.prefs.clearUserPref(prefName));

    var popupshownFolderId = Services.prefs.getIntPref(prefName);
    var handler = e => {
        if (e.target != panel) return;
        var id = PlacesUtils.bookmarks.getFolderIdForItem(StarUI._itemId);
        if (e.type == "popupshown") {
            popupshownFolderId = id;
            return;
        }
        if (StarUI._actionOnHide || popupshownFolderId == id) return;
        Services.prefs.setIntPref(prefName, id);
    }
    for(var type of ["popupshown", "popuphiding"]) addEventListener(type, handler, false, panel);

    var src = BookmarkingUI.onCommand.toString();
    var res = src.replace("e(isBookmarked", `$&, isBookmarked || Services.prefs.getIntPref("${prefName}")`);
    var func = eval(`(${res})`).bind(BookmarkingUI);

    addEventListener("command", e => {
        e.stopPropagation();
        func(e);
    }, true, document.getElementById("bookmarks-menu-button"));

})(StarUI, "CB.lastEditBookmarkPanelFolderId");

Отсутствует

 

№111103-03-2016 14:09:57

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

Dumby пишет

Я, кстати, не смог понять что хочет Кот.

Красивый код. Мне показалось, что Кот пишет про папку закладок в которую добавляли закладки не только нажатием звёздочки. Ну ладно там видно будет.

Отсутствует

 

№111203-03-2016 15:34:09

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: unknown 0.0

Re: Обсуждение кнопок CB

KOT040188 пишет

сделать добавление закладки через звёздочку в последнюю выбранную папку

По умолчанию добавляет в неподшитые, а я хочу в ту которую выбирал в прошлый раз. Не знаю как ещё проще объяснить.


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№111303-03-2016 15:54:25

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 47.0

Re: Обсуждение кнопок CB

Dumby пишет

Я, кстати, не смог понять что хочет Кот.

Как я понял, он хочет чтобы было как в Add Bookmark Here²

Remember the last selected folder when you bookmark a page.

KOT040188, так?

Отредактировано voqabuhe (03-03-2016 15:55:03)

Отсутствует

 

№111403-03-2016 16:22:39

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

KOT040188 пишет

По умолчанию добавляет в неподшитые, а я хочу в ту которую выбирал в прошлый раз.

Попробуй:

Выделить код

Код:

(({panel}, prefName) => {

    cbu.isPref(prefName, PlacesUtils.unfiledBookmarksFolderId);
    addDestructor(reason => reason == "delete" && Services.prefs.clearUserPref(prefName));

    var popupshownFolderId = Services.prefs.getIntPref(prefName);
    var handler = e => {
        if (e.target != panel) return;
        var id = PlacesUtils.bookmarks.getFolderIdForItem(StarUI._itemId);
        if (e.type == "popupshown") {
            popupshownFolderId = id;
            return;
        }
        if (StarUI._actionOnHide || popupshownFolderId == id) return;
        Services.prefs.setIntPref(prefName, id);
    }
    for(var type of ["popupshown", "popuphiding"]) addEventListener(type, handler, false, panel);

    var src = BookmarkingUI.onCommand.toString();
    var res = src.replace("e(isBookmarked", `$&, isBookmarked || Services.prefs.getIntPref("${prefName}")`);
    var func = eval(`(${res})`).bind(BookmarkingUI);

    addEventListener("command", e => {
        e.stopPropagation();
        func(e);
    }, true, document.getElementById("bookmarks-menu-button"));

})(StarUI, "CB.lastEditBookmarkPanelFolderId");

Отсутствует

 

№111503-03-2016 16:34:06

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: unknown 0.0

Re: Обсуждение кнопок CB

voqabuhe
Да.


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№111603-03-2016 16:44:45

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 47.0

Re: Обсуждение кнопок CB

bunda1 пишет

Попробуй:

В [nightly] не работает.

Отсутствует

 

№111703-03-2016 21:42:15

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: Firefox 44.0

Re: Обсуждение кнопок CB

bunda1 пишет

Попробуй:

Спасибо, работает. И выбор папки развёрнут. Бонусом ещё и меню выскакивает после первого нажатия. Может так и лучше…

Отредактировано KOT040188 (03-03-2016 21:44:01)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№111804-03-2016 10:07:25

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2249
UA: Firefox 38.0

Re: Обсуждение кнопок CB

voqabuhe пишет

В [nightly] не работает.

Может

скрытый текст

Выделить код

Код:

//var res = src.replace("e(isBookmarked", `$&, isBookmarked || Services.prefs.getIntPref("${prefName}")`);
    var showPopup = true;
    var res = src.replace("true", `${showPopup || "isBookmarked"}, isBookmarked ? undefined : Services.prefs.getIntPref("${prefName}")`);


bunda1
Я тебе насоветовал искать PlacesCommandHook в
chrome://browser/content/browser.js
а в Nightly он переехал в
chrome://browser/content/browser-places.js

Отсутствует

 

№111904-03-2016 10:32:09

FMRUser
Участник
 
Группа: Members
Зарегистрирован: 01-03-2014
Сообщений: 817
UA: Firefox 45.0
Веб-сайт

Re: Обсуждение кнопок CB

Dumby пишет

в Nightly он переехал в
chrome://browser/content/browser-places.js

..в 45b9 уже там обнаружил.

скрытый текст
Как плохо, что browser.js не оптимизируется, 18 строчек ломаются..

Отсутствует

 

№112004-03-2016 10:44:25

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

Dumby пишет

Я тебе насоветовал искать PlacesCommandHook в
chrome://browser/content/browser.js
а в Nightly он переехал в
chrome://browser/content/browser-places.js

Спасибо :)

Отсутствует

 

№112104-03-2016 15:08:03

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 47.0

Re: Обсуждение кнопок CB

Dumby пишет

Может

Спасибо, теперь работает. Только почему-то вот такого у меня нет?

KOT040188 пишет

И выбор папки развёрнут.

bunda1
А на жест этот код можно прикрутить? И ещё, как сделать что бы закладки добавлялись вверх списка?

Отсутствует

 

№112204-03-2016 15:38:16

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: Firefox 44.0

Re: Обсуждение кнопок CB

voqabuhe
Я извинясь, ввёл всех в заблуждение. Нажал отключить расширение Add Bookmark Here, а он гад не отключился при перезапуске, может потому, что обновлялся при этом. Я ещё удивился какой bunda1 похожий на расширение код написал :D Меню этот код не разворачивает, тут поведение стандартное. Посмотрю, будет ли удобно…
Для развёрнутой папки этот код:

Выделить код

Код:

addEventListener("popupshown", ()=> {
   document.getElementById('editBMPanel_foldersExpander').click();
}, true, document.getElementById("editBookmarkPanel"));

Отредактировано KOT040188 (04-03-2016 15:46:13)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№112304-03-2016 17:00:56

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 47.0

Re: Обсуждение кнопок CB

KOT040188 пишет

Для развёрнутой папки этот код:

:) Ага так разворачиваются, спасибо.  В Add Bookmark Here ещё очень полезная штука есть, изменять размер окна выбора папок, растягиванием мышкой. Глянь может и этот код вытащишь.:)

Отсутствует

 

№112404-03-2016 17:02:06

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: Firefox 44.0

Re: Обсуждение кнопок CB

voqabuhe
Не ко мне вопрос;)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№112504-03-2016 17:07:26

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 47.0

Re: Обсуждение кнопок CB

KOT040188 пишет

Не ко мне вопрос;)

Ясно. Тогда может как всегда bunda1 или Dumby помогут. ;)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]