>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Сustom Buttons http://forum.mozilla-russia.org/viewforum.php?id=34 >Bookmarklet "Source Chart" для пункта меню "Исходный код" http://forum.mozilla-russia.org/viewtopic.php?id=70901 |
xoreax > 15-11-2016 16:52:06 |
Есть такой замечтательный букмаклет View Source Chart bookmarklet init Выделить код Код:// ---------------Для пункта меню "Исходный код страницы" действие открыть через букмаклет 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")); })(); ну т.е. создал две закладки с именами и вызываю их. IFRAME работает. А во вкладке нет. Ошибка возникает уже в букмаклете. Но если так же точно сделать отдельную кнопку и положить в Код - работает как надо, открывает вкладку и ... вобщем отлично. А из пункта меню нет. Чё делать? |
Dumby > 16-11-2016 00:18:25 |
С флагом, вроде, работает скрытый текст Выделить код Код:(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")); |
xoreax > 16-11-2016 14:16:58 |
Конечно работает! Какой интересный способ, буду изучать. |