Страницы: 1
Есть такой замечтательный букмаклет View Source Chart bookmarklet
Я захотел прикрутить его в виде действия по кликам на пункт меню "Исходный код":
- по СКМ - загружается в виде IFRAME
- по ПКМ - должен бы открываться во вкладке. Но не работает. Подскажите как\почему?
Кнопка такая
// ---------------Для пункта меню "Исходный код страницы" действие открыть через букмаклет View SourceChart /*init*/ (function sourceChart() { addEventListener("click", e => { if (e.target.id != "context-viewsource") return; // открыть SourceChart в IFRAME на странице тут же if(e.button ==1) { e.preventDefault(); var url = PlacesUtils.getURLAndPostDataForKeyword("schart-iframe")[0]; loadURI(url); } // открыть SourceChart во вкладке. Не работает ;(( if(e.button ==2) { e.preventDefault(); var url = PlacesUtils.getURLAndPostDataForKeyword("schart-tab")[0]; loadURI(url); } }, false, document.getElementById("contentAreaContextMenu")); })();
Отсутствует
С флагом, вроде, работает
(menuitem => { var keys = ["schart-iframe", "schart-tab"]; var load = url => url && gBrowser.loadURIWithFlags(url, Ci.nsIWebNavigation.LOAD_FLAGS_ALLOW_POPUPS); var func = "keywords" in PlacesUtils ? btn => PlacesUtils.keywords.fetch(keys[--btn], res => load(res.url.href)) : btn => load(PlacesUtils.getURLAndPostDataForKeyword(keys[--btn])[0]); var listener = e => e.button && func(e.button, e.preventDefault(), menuitem.parentNode.hidePopup()); menuitem && addEventListener("click", listener, false, menuitem); })(document.getElementById("context-viewsource"));
Отсутствует
Страницы: 1