Страницы: 1
(ff 40.0.2) какие две строчки нужно добавить? (в файл click.js),
чтобы в главной контекстной менюшке появились 2 пунктa: history, home
файл click.js находится внутри xpi-файла: chrome\content\click\click.js
xpi-файл соответствует одному из двух имеющихся расширений, и находится этот файл вот здесь:
Data\profile\extensions\{dc572301-7619-498c-a57d-39143191b318}.xpi
безуспешно перепробованы десятки вариантов;
по сути, во всех случаях просто ничего в менюшке не появляется, и только вот в этом случаe...
...появляется серый пункт (неактивный) (то есть, всё равно не работающий)
history/library нужен обычный (не внутри таба) (то есть, как если бы было нажато ctrl+shift+h)
вот несколько примеров работающих строчек (в этом файле click.js):
1) (по нажатию на ctrl+d) home работает:
var keys = { goHome: { key: "D", modifiers: "control" }, ... key_close: { key: "w", modifiers: "control" }, ... showAllHistoryKb: true, };
а нужно, чтобы home появился в главной контекстной менюшке
2)
setTimeout((n, css) => { var data = { "tm-tabsList": { lab: "opened" }, "tm-content-undoCloseList": { lab: "closed" }, "menuitem_inspector": { lab: "inspector", ctrl: true }, "menu_openAddons": { lab: "extensions", ctrl: true }, "menu_newNavigatorTab": { lab: "new" }, "menu_close": { lab: "close" }, "menu_preferences": { lab: "options" }, "context-copylink": { lab: "copy address" }, ... "context-viewinfo": { lab: "information", ctrl: true }, "menu_browserConsole": { lab: "console", ctrl: true }, "context-undo": { lab: "un-do" }, "context-paste": { lab: "paste" }, "context-delete": { lab: "delete" }, "context-copy": { lab: "copy", ctrl: true }, };
Отсутствует
у меня "home" означает "about:blank", и вот таким обходным вариантом...
(menuitem => { menuitem.id = "my-about-blank"; menuitem.setAttribute("label", "home"); menuitem.setAttribute("oncommand", 'loadURI("about:blank");'); document.getElementById("contentAreaContextMenu").appendChild(menuitem); })(document.createElement("menuitem"));
...мне удалось добавить пункт "home" в главное контекстное меню, и он работает,
но не совсем так, как нужно:
- при этом варианте (после нажатия на данный пункт) проставляется курсор в строке адреса (которая только что стала пустой)
- а нужно, чтобы было как при нажатии на вчера упомянутoe ctrl+d (то есть, никакого подобного авто-проставления курсора)
основной вопрос: как добавить в главное контекстное меню пункт "history"?,
по клику на который просто бы нажималось Ctrl+Shift+H,
и добавить так, чтобы он разместился между вчера упомянутыми пунктами "close" и "options":
Отсутствует
нужно, чтобы было как при нажатии на вчера упомянутoe ctrl+d
Почему тогда 'loadURI("about:blank");' а не "BrowserHome();"
как добавить в главное контекстное меню пункт "history"?
Может menu_showAllHistory: { lab: "history" },
Отсутствует
Dumby, оба пункта заработали, спасибо
Может menu_showAllHistory: { lab: "history" },
могу ли по такому же простому принципу сделать и для home?
например, вот это не сработало:
(уточняю на всякий случай:
откуда вообще выяснять все эти menu_showAllHistory?, и тому подобные)
Отредактировано austri (05-01-2025 15:58:54)
Отсутствует
по такому же простому принципу сделать и для home
подскажите, пожалуйста, не только по поводу строчки для home, но и для таких строчек как:
- find (то есть, как если бы было нажато ctrl + f)
- back (то есть, как если бы было нажато backspace)
- forward (то есть, как если бы было нажато shift + backspace)
Отсутствует
могу ли по такому же простому принципу сделать и для home?
Не совсем. Код не создаёт пункты меню,
но всего лишь оперирует уже существующими,
а пункта меню, который вызывал бы домашнюю страницу,
я нигде в браузере не нашёл.
Можно изменить, чтобы создавал.
Заменить цикл for(var id in data) {…} на такой
// for(var id in data) { var obj = data[id], elm = n(id); (obj.ctrl ? ctrlIds : ids).push("#" + id); if (elm) { remAttrs(elm); var br, obs = elm.getAttribute("observes"); if (obs) br = n(obs), br && remAttrs(br); } else (elm = document.createElement("menuitem")).id = id; if ("lab" in obj) br && br.removeAttribute("label"), elm.setAttribute("label", obj.lab); obj.oncommand && elm.setAttribute("oncommand", obj.oncommand); df.appendChild(elm); }
откуда вообще выяснять все эти menu_showAllHistory?, и тому подобные
Какой-то слишком общий вопрос.
Можно, например, запустить
с консоли браузера Attributes Inspector (raw), и посмотреть.
А насчёт find, back, forward,
find — можно из пункта «Правка» главного меню притащить.
А back и forward — есть в «главном контекстном»,
только они у него в menugroup#context-navigation
menu_find: { lab: "find" },
"context-back": { lab: "back" },
"context-forward": { lab: "forward" },
Отсутствует
Страницы: 1