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

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№1570118-06-2021 17:57:14

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1160
UA: Firefox 89.0

Re: Custom Buttons

Есть у меня кнопка, которая по ЛКМ открывает текстовый редактор, установленный в системе Akelpad. По СКМ эмулирует редактор в браузере, по ПКМ CB меню. Можно сделать тоже самое для ucf, тоько для ПКМ сделать эмуляцию, как СКМ с вставкой из буфера? Может, такое уже кто и просил, ткните носом.

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u0422%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0439%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAgAAAAApKSlRRkZGh0BAQHxBQUF+QUFBfkFBQX5BQUF+QEBAfEZGRogaGho1AAAAAAABAAECAgICAgICAgQEBAUAAAAAMTEwWeLi4f//////+vr6//r6+v/6+vr//Pz8//v7+//5+fn++/v7/7CwsPdNTU2hAQEBAgAAAAAAAAAAAwMDBAAAAABvbm+x8vHy/+Df4Pfi4+P76ubr++Lh4vvk5OT7/f39+/////v////77/Dv/aysrP8BEAElKngnxDCDLdEvgSzOLX8qy0GTPu1Zq1b/WatW/lasU/9op2f/xcPF/8PEw//i5+L/8vfx//H27//p6+n/qqqq/ESaQOS67a7/teip/rbpqv+36qv/suSm/6zfoP+s36D/teOo/4bNfP93s3b/39bf/9XY1f/5/Pj/+Pv2/+vs6/+qqar/T6RK8bvjsP6t2qT8sNym/LDcpvyx3af+st6o/7LeqP+w3ab/vuaz/1mqVP+2w7b/3dvd//D07//4+/f/6+zr/6qqqv8BNwFvndiU/8Djt/y34a//ueGw/7nhsP+54bD/ueGw/7jgr//B5Lj/mtSS/3q1ev/WzNb/4ufh//f79f/p6+n/qqqq/wAAAANHk0Pbzu/F/73gtP3A47f/wOO3/8Djt//A47f/wOO4/73itf/D5rn/Y7Je/7/MwP/k4eP/+f35/+vs6/+qqqr/AAAAAAAzAGap4KP/zebG+8Tkvv/G5b//xuS//8blv//F5b7/vuK2/8LkuP+U0Yv/ZaBl/97W3v/u9e3/6+3r/6qqqv8DAQMAAAAABE6XS+Db8dT/yuPD/czmxv/N5sf/zObG/8blv//A47j/t+Cu/7vjsP9nuWP/uMW5/+zr6//s7+z/qamq/wACAAQAAAAAATQBZrTir//a6dX70ufN/9Pozv/N5sf/xuS//8Djt/+44K//u+Ow/4zNgv9uqW7/6+Tr/+ru6v+qqar/AAAAAQMBAwAAAAAHVJhS2Or25v/W59L91OjP/8zmxv/G5b//wOO3/7rhsP+w3ab/tuSp/1isU/+vva//6+rq/6qqqv8AAAAAAQIBAwAAAAAENQRkv+S7/+Pr3vvR58z/zObG/8bkv/+/4rf/ueCw/7Hep/+z4Kf/h818/3Kucv/r4uv/qKqo/gAAAAAAAAABAwEDAAAAAApVl1TU7Pbo/9HlzP3P58j/xuS//8Ljuf+64bH/s9+p/6vcoP+t4KD/Wq5U/8bSx/23tLf9AAAAAAAAAAABAgEDAAAAAAk3CWaq36b/1unR+cLjvPzF5r78t+Cv/LXgrP2w36b8odmW/Kzgn/1yxGf7gLKA/52Sne0AAAAAAAAAAAAAAAECAQIAAAEADUOCQcdwt23/Zati82GrXvVjrWD4XKlY9FqpVvZaqlX3UqZN81OnTvxYbFndGxcbNAAAAAAAAAAAAAAAAAABAQEAAAAAFBAUHTAzMGcqKipRJSclUS8wL14nJyZNKCspVy4uLlsiJCJKNjU2aQQABAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20...........%0Athis.onclick%20%3De%3D%3E%20%7B%0A%20%20%20if%20%28%20e.button%20%3D%3D%3D%201%20%29%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28notepad%2C%20%7B%0A%20%20%20%20triggeringPrincipal%3A%20Services.scriptSecurityManager.getSystemPrincipal%28%29%0A%20%20%20%20%7D%29%3B%20//%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0431%u043B%u043E%u043A%u043D%u043E%u0442%20%20%20%20%0A%7D%3B%0A%0A//%20%u041E%u0431%u043D%u043E%u0432%u0438%u0442%u044C%20%u0431%u043B%u043E%u043A%u043D%u043E%u0442%20%u0432%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20%u043F%u043E%u0441%u043B%u0435%20%u043E%u0431%u043D%u043E%u0432%u043B%u0435%u043D%u0438%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20...........%0Aif%20%28%20gBrowser.currentURI.spec%20%3D%3D%20notepad%20%29%20%7B%0A%20%20%20%20%20var%20val%20%3D%20content.document.getElementsByTagName%28%22textarea%22%29%5B0%5D.value%3B%0A%20%20%20%20%20loadURI%28notepad%29%3B%0A%20%20%20%20%20setTimeout%28%28%29%3D%3E%20content.document.getElementsByTagName%28%22textarea%22%29%5B0%5D.value%20%3D%20val%2C%20500%29%3B%20%20%20%20%20%0A%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20%0A//%20%u041E%u0447%u0438%u0441%u0442%u0438%u0442%u044C%20%u0430%u0434%u0440%u0435%u0441%u043D%u0443%u044E%20%u0441%u0442%u0440%u043E%u043A%u0443%20%u0432%20%u043A%u043B%u0430%u0434%u043A%u0435%20%u0431%u043B%u043E%u043A%u043D%u043E%u0442%u0430%20...........%0AaddEventListener%28%22TabAttrModified%22%2C%20%28%29%3D%3E%20gBrowser.currentURI.spec%20%3D%3D%20notepad%20%26%26%20gURLBar.reset%28%29%29%3B%0A%0A//%20%u041F%u043E%u043B%u0443%u0447%u0430%u0435%u043C%20%u0430%u0434%u0440%u0435%u0441%20%u0431%u043B%u043E%u043A%u043D%u043E%u0442%u0430%20%u043A%u0430%u043A%20base64%20%u0438%u0437%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%u0421%u043F%u0440%u0430%u0432%u043A%u0430%20%u0438%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u043C%20%u0438%u043A%u043E%u043D%u043A%u0443%20%u0434%u043B%u044F%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%u0431%u043B%u043E%u043A%u043D%u043E%u0442%u0430%20...........%0Avar%20notepad%20%3D%20%22data%3Atext/html%3Bbase64%2C%22%20+%20window.btoa%28self.getAttribute%28%27Help%27%29.replace%28%27selfImage%27%2C%20self.image%29%29%3B%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438%20...........%0Athis.tooltipText%20%3D%20%22%u0422%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0439%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%20%5Cn%u041B%u041A%u041C%3A%20Akelpad%20%5Cn%u0421%u041A%u041C%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0431%u043B%u043E%u043A%u043D%u043E%u0442%20%5Cn%u041F%u041A%u041C%3A%20CB%20%u043C%u0435%u043D%u044E%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bvar%20file%20%3D%20Cc%5B%22@mozilla.org/file/local%3B1%22%5D.createInstance%28Ci.nsIFile%29%3B%0Afile.initWithPath%28%20%22c%3A%5C%5CProgram%20Files%5C%5CAkelPad%5C%5CAkelPad.exe%22%20%29%3B%0Afile.launch%28%29%3B%0A%0A%0A//%20%u0432%u0441%u043F%u043B%u044B%u0432%u0430%u044E%u0449%u0435%u0435%20%u0441%u043E%u043E%u0431%u0449%u0435%u043D%u0438%u0435%20....%0Avar%20alertsService%20%3D%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29%3B%0AalertsService.showAlertNotification%28self.image%2C%20%22Akelpad%22%2C%20%22%u0417%u0430%u043F%u0443%u0441%u043A%u0430%u0435%u043C%20Akelpad%21%22%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%29%3B%0AsetTimeout%28%28%29%3D%3E%20alertsService.closeAlert%28%29%2C%202000%29%3B%0A%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%3Cmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text/html%3B%20charset%3Dutf-8%22/%3E%3Ctitle%3ENotepad%3C/title%3E%0A%3Chead%3E%0A%20%3Clink%20rel%3D%22shortcut%20icon%22%20href%3D%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAgAAAAApKSlRRkZGh0BAQHxBQUF+QUFBfkFBQX5BQUF+QEBAfEZGRogaGho1AAAAAAABAAECAgICAgICAgQEBAUAAAAAMTEwWeLi4f//////+vr6//r6+v/6+vr//Pz8//v7+//5+fn++/v7/7CwsPdNTU2hAQEBAgAAAAAAAAAAAwMDBAAAAABvbm+x8vHy/+Df4Pfi4+P76ubr++Lh4vvk5OT7/f39+/////v////77/Dv/aysrP8BEAElKngnxDCDLdEvgSzOLX8qy0GTPu1Zq1b/WatW/lasU/9op2f/xcPF/8PEw//i5+L/8vfx//H27//p6+n/qqqq/ESaQOS67a7/teip/rbpqv+36qv/suSm/6zfoP+s36D/teOo/4bNfP93s3b/39bf/9XY1f/5/Pj/+Pv2/+vs6/+qqar/T6RK8bvjsP6t2qT8sNym/LDcpvyx3af+st6o/7LeqP+w3ab/vuaz/1mqVP+2w7b/3dvd//D07//4+/f/6+zr/6qqqv8BNwFvndiU/8Djt/y34a//ueGw/7nhsP+54bD/ueGw/7jgr//B5Lj/mtSS/3q1ev/WzNb/4ufh//f79f/p6+n/qqqq/wAAAANHk0Pbzu/F/73gtP3A47f/wOO3/8Djt//A47f/wOO4/73itf/D5rn/Y7Je/7/MwP/k4eP/+f35/+vs6/+qqqr/AAAAAAAzAGap4KP/zebG+8Tkvv/G5b//xuS//8blv//F5b7/vuK2/8LkuP+U0Yv/ZaBl/97W3v/u9e3/6+3r/6qqqv8DAQMAAAAABE6XS+Db8dT/yuPD/czmxv/N5sf/zObG/8blv//A47j/t+Cu/7vjsP9nuWP/uMW5/+zr6//s7+z/qamq/wACAAQAAAAAATQBZrTir//a6dX70ufN/9Pozv/N5sf/xuS//8Djt/+44K//u+Ow/4zNgv9uqW7/6+Tr/+ru6v+qqar/AAAAAQMBAwAAAAAHVJhS2Or25v/W59L91OjP/8zmxv/G5b//wOO3/7rhsP+w3ab/tuSp/1isU/+vva//6+rq/6qqqv8AAAAAAQIBAwAAAAAENQRkv+S7/+Pr3vvR58z/zObG/8bkv/+/4rf/ueCw/7Hep/+z4Kf/h818/3Kucv/r4uv/qKqo/gAAAAAAAAABAwEDAAAAAApVl1TU7Pbo/9HlzP3P58j/xuS//8Ljuf+64bH/s9+p/6vcoP+t4KD/Wq5U/8bSx/23tLf9AAAAAAAAAAABAgEDAAAAAAk3CWaq36b/1unR+cLjvPzF5r78t+Cv/LXgrP2w36b8odmW/Kzgn/1yxGf7gLKA/52Sne0AAAAAAAAAAAAAAAECAQIAAAEADUOCQcdwt23/Zati82GrXvVjrWD4XKlY9FqpVvZaqlX3UqZN81OnTvxYbFndGxcbNAAAAAAAAAAAAAAAAAABAQEAAAAAFBAUHTAzMGcqKipRJSclUS8wL14nJyZNKCspVy4uLlsiJCJKNjU2aQQABAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%22type%3D%22image/x-icon%22%3E%0A%3C/head%3E%0A%0A%3CTEXTAREA%3E%3C/TEXTAREA%3E%0A%3Cstyle%3E%0A%0Ahtml%20%7B%0A%20%20background-color%3A%20black%3B%0A%20%20overflow%3A%20hidden%3B%0A%7D%0Atextarea%20%7B%0A%20%20background%3A%20%23383838%3B%0A%20%20overflow-y%3A%20auto%3B%0A%20%20width%3A%20100%25%3B%0A%20%20height%3A%20100%25%3B%0A%20%20border-radius%3A%202px%3B%0A%20%20border%3A%202px%20inset%20white%3B%0A%20%20color%3A%20white%3B%0A%7D%0A%3C/style%3E%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№1570219-06-2021 15:43:28

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

Re: Custom Buttons

Пострел пишет

https://cs.majento.ru/

Может так :/

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

Выделить код

Код:

Services.search.addPolicyEngine({

	iconURL: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAABM2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///LYKY/wAAAP8AAAD/AAAA/w8rMv8AAAD/AAAA/wAAAP8AAAD/BQ8R/0K93f9M2///TNv//0zb//9M2///Qr3d/wAAAP8AAAD/I2V2/yh0h/8odIf/LYKY/xlIVP8odIf/I2V2/wAAAP8KHCH/TNv//0zb//9M2///TNv//x5XZf8AAAD/KHSH/0zb//9M2///TNv//0zb//9M2///TNv//0K93f8AAAD/AAAA/0zb//9M2///TNv//0zb//8UOUP/AAAA/0zb//9M2///TNv//0zb//9M2///Qr3d/xQ5Q/8AAAD/AAAA/yNldv9M2///TNv//0zb//9M2///FDlD/wAAAP9M2///TNv//0zb//9M2///Qr3d/wAAAP8AAAD/Dysy/zeguv9M2///TNv//0zb//9M2///TNv//yh0h/8AAAD/Hldl/0zb//9M2///TNv//yh0h/8AAAD/I2V2/0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///AAAA/wAAAP8PKzL/FDlD/yNldv83oLr/AAAA/wAAAP8UOUP/AAAA/y2CmP9M2///TNv//0zb//9M2///TNv//0K93f8ZSFT/AAAA/wAAAP8ZSFT/TNv//yh0h/8FDxH/AAAA/wocIf8odIf/TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///TNv//0zb//9M2///AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
	chrome_settings_overrides: {
		search_provider: {
			name: "ClearSearch – поиск в Яндексе без рекламы",
			search_url: "https://cs.majento.ru/search/",
			search_url_post_params: "phrase={searchTerms}"
		}
	}
});

ВВП пишет

Хочу чтобы кнопка Undo не реагировала на закрытые или открытые окна...

В каком смысле «не реагировала»? Можно попродробнее?


xrun1 пишет

Можно сделать тоже самое для ucf, тоько для ПКМ сделать эмуляцию, как СКМ с вставкой из буфера?

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

Выделить код

Код:

(async (html, self) => CustomizableUI.createWidget(self = {
	label: "Текстовый редактор",
	tooltiptext: [
		"Текстовый редактор",
		"ЛКМ: AkelPad",
		"ПКМ: Открыть блокнот"
	].join("\n"),
	akelpadPath: "C:\\Program Files\\AkelPad\\AkelPad.exe",
	image: "data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAgAAAAApKSlRRkZGh0BAQHxBQUF+QUFBfkFBQX5BQUF+QEBAfEZGRogaGho1AAAAAAABAAECAgICAgICAgQEBAUAAAAAMTEwWeLi4f//////+vr6//r6+v/6+vr//Pz8//v7+//5+fn++/v7/7CwsPdNTU2hAQEBAgAAAAAAAAAAAwMDBAAAAABvbm+x8vHy/+Df4Pfi4+P76ubr++Lh4vvk5OT7/f39+/////v////77/Dv/aysrP8BEAElKngnxDCDLdEvgSzOLX8qy0GTPu1Zq1b/WatW/lasU/9op2f/xcPF/8PEw//i5+L/8vfx//H27//p6+n/qqqq/ESaQOS67a7/teip/rbpqv+36qv/suSm/6zfoP+s36D/teOo/4bNfP93s3b/39bf/9XY1f/5/Pj/+Pv2/+vs6/+qqar/T6RK8bvjsP6t2qT8sNym/LDcpvyx3af+st6o/7LeqP+w3ab/vuaz/1mqVP+2w7b/3dvd//D07//4+/f/6+zr/6qqqv8BNwFvndiU/8Djt/y34a//ueGw/7nhsP+54bD/ueGw/7jgr//B5Lj/mtSS/3q1ev/WzNb/4ufh//f79f/p6+n/qqqq/wAAAANHk0Pbzu/F/73gtP3A47f/wOO3/8Djt//A47f/wOO4/73itf/D5rn/Y7Je/7/MwP/k4eP/+f35/+vs6/+qqqr/AAAAAAAzAGap4KP/zebG+8Tkvv/G5b//xuS//8blv//F5b7/vuK2/8LkuP+U0Yv/ZaBl/97W3v/u9e3/6+3r/6qqqv8DAQMAAAAABE6XS+Db8dT/yuPD/czmxv/N5sf/zObG/8blv//A47j/t+Cu/7vjsP9nuWP/uMW5/+zr6//s7+z/qamq/wACAAQAAAAAATQBZrTir//a6dX70ufN/9Pozv/N5sf/xuS//8Djt/+44K//u+Ow/4zNgv9uqW7/6+Tr/+ru6v+qqar/AAAAAQMBAwAAAAAHVJhS2Or25v/W59L91OjP/8zmxv/G5b//wOO3/7rhsP+w3ab/tuSp/1isU/+vva//6+rq/6qqqv8AAAAAAQIBAwAAAAAENQRkv+S7/+Pr3vvR58z/zObG/8bkv/+/4rf/ueCw/7Hep/+z4Kf/h818/3Kucv/r4uv/qKqo/gAAAAAAAAABAwEDAAAAAApVl1TU7Pbo/9HlzP3P58j/xuS//8Ljuf+64bH/s9+p/6vcoP+t4KD/Wq5U/8bSx/23tLf9AAAAAAAAAAABAgEDAAAAAAk3CWaq36b/1unR+cLjvPzF5r78t+Cv/LXgrP2w36b8odmW/Kzgn/1yxGf7gLKA/52Sne0AAAAAAAAAAAAAAAECAQIAAAEADUOCQcdwt23/Zati82GrXvVjrWD4XKlY9FqpVvZaqlX3UqZN81OnTvxYbFndGxcbNAAAAAAAAAAAAAAAAAABAQEAAAAAFBAUHTAzMGcqKipRJSclUS8wL14nJyZNKCspVy4uLlsiJCJKNjU2aQQABAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=",

	id: "ucf-noteAkelPad",
	localized: false,
	onCreated(btn) {
		btn._handleClick = this.akelpad;
		btn.oncontextmenu = this.context;
		btn.setAttribute("image", this.image);
	},
	get akelpad() {
		delete this.akelpad;
		return this.akelpad = Components.Constructor(
			"@mozilla.org/file/local;1", "nsIFile", "initWithPath"
		)(self.akelpadPath).launch;
	},
	get url() {
		var u = (code, mime) => `data:${mime};charset=utf-8,${
			encodeURIComponent(code)
		}`;
		this.fs = u(`addEventListener("pageshow", e => {
			var ta = e.target.getElementById("ta");
			ta.focus();
			docShell.doCommand("cmd_paste");
			ta.editor.beginningOfDocument();
		}, {once: true});`, "");
		delete this.url;
		return this.url = u(html.replace("ICON", self.image), "text/html");
	},
	context(e) {
		if (e.ctrlKey || e.shiftKey) return;
		e.preventDefault();
		var gb = this.ownerGlobal.gBrowser;
		(gb.selectedTab = gb.addTrustedTab(self.url))
			.linkedBrowser.messageManager.loadFrameScript(self.fs, false);
	}
}))( // <!DOCTYPE HTML> breaks the style :(
`<html>
	<head>
		<title>Notepad</title>
		<link rel="shortcut icon" href="ICON">
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<style>
			html {
				overflow: hidden;
				background-color: black;
			}
			textarea {
				width: 100%;
				height: 100%;
				color: white;

				outline: none;
				padding: 2px 4px;
				/*resize: none;*/

				overflow-y: auto;
				border-radius: 2px;
				background: #383838;
				border: 2px inset white;
			}
		</style>
	</head>
	<body>
		<textarea id="ta"></textarea>
	</body>
</html>`);

Отсутствует

 

№1570319-06-2021 17:43:47

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 89.0

Re: Custom Buttons

Dumby

Dumby пишет

В каком смысле «не реагировала»? Можно попродробнее?

В смысле, undoclose.window не надо. Только вкладки закрытые, без закр.окон. Иногда окно выскочит(при авторизации,к примеру) ,а кнопка целую простынь показывает в popup
Пункты я убираю, но сама кнопка ярко горит...Короче, как бы не реагировать на undoclose.Window

Отсутствует

 

№1570419-06-2021 19:55:38

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

Re: Custom Buttons

ВВП пишет

Иногда окно выскочит(при авторизации,к примеру) ,а кнопка целую простынь показывает в popup
Пункты я убираю, но сама кнопка ярко горит...

Да, так понятнее, спасибо.
Даже не знаю, вот смотри — горит или не горит,
вроде, должно проходить через метод updUI()

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

Выделить код

Код:

…
    updUI: function() {
        var tabsCount = this.closedTabCount;
        var dis = !tabsCount && !this.closedWindowCount;
        if(
            dis
            && this.options.useMenu
            && this.options.menuTemplate.indexOf("restoreLastSession") != -1
            && "restoreLastSession" in this.ss && this.ss.canRestoreLastSession
        )
            dis = false;
        this.button.disabled = dis;
    },


так вот, может там убрать && !this.closedWindowCount
то есть, останется только var dis = !tabsCount;

Отсутствует

 

№1570519-06-2021 21:04:16

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 89.0

Re: Custom Buttons

Dumby

Dumby пишет

так вот, может там убрать && !this.closedWindowCount

Класс!

Отсутствует

 

№1570619-06-2021 22:16:37

Пострел
Участник
 
Группа: Members
Зарегистрирован: 08-04-2021
Сообщений: 51
UA: Firefox 89.0

Re: Custom Buttons

ВВП, Dumby.

Все в елочку ©.
Очень благодарен вам, за вашу помощь. Спасибо.

Отсутствует

 

№1570719-06-2021 22:18:39

beggrr
Участник
 
Группа: Members
Зарегистрирован: 04-02-2014
Сообщений: 118
UA: Firefox 85.0

Re: Custom Buttons

beggrr пишет

Если popup окошко открыто с помощью window.open()
Можно каким то образом заставить ссылки в нем открываться в новых вкладках этого же окошка?
Сейчас я кликаю по ссылке и она открывается в текущей вкладке popup'а. А если выбираю в контекстном меню ссылки "Открыть в новой вкладке", то открывается во вкладке основного окна.

Никто не  ответит? :(

Отсутствует

 

№1570819-06-2021 23:14:05

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

Re: Custom Buttons

beggrr пишет

Никто не  ответит?

Ну, если вопрос адресован тем, у кого нередко

popup окошко открыто с помощью window.open()

то, скорее всего, нет. Если бы ответ был, то уже запостили бы, наверно.


А если вопрос адресован более широкой аудитории,
то шансов ещё меньше. Ведь тогда, как бы, просматривается предложение
переспрашивать что-то типа: «а что за window?», «а какие аргументы
передаются в его метод open()», иначе говоря — «как этот попап можно увидеть?».


Но выканючивать то, что и так должно быть в вопросе, странно же.
Впрочем, дело такое, «под настроение».

Отсутствует

 

№1570920-06-2021 00:19:05

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1160
UA: Firefox 89.0

Re: Custom Buttons

Dumby
Спасибо, как всегда выручаете!

Отсутствует

 

№1571020-06-2021 10:52:07

Garalf
Участник
 
Группа: Members
Зарегистрирован: 19-09-2017
Сообщений: 313
UA: Firefox 87.0

Re: Custom Buttons

xrun1
А код кнопки в custom_script.js помещать?

Отсутствует

 

№1571120-06-2021 13:09:56

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1160
UA: Firefox 89.0

Re: Custom Buttons

Garalf
Код сохранить, например, как noteAkelPad.js и в custom_script.js loadscript("noteAkelPad.js");

Отсутствует

 

№1571220-06-2021 18:46:31

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1419
UA: Firefox 90.0

Re: Custom Buttons

Garalf
xrun1

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

Выделить код

Код:

(() => {
    var loadscript = relpath => {
        try {
            Services.scriptloader.loadSubScript(`chrome://user_chrome_files/content/custom_scripts/${relpath}`, globalThis, "UTF-8");
        } catch(e) {}
    };
    loadscript("подпапка/Attributes_Inspector_ucf.js");
    loadscript("подпапка/BBCode_Multi_ucf.js");
    // и т. д.
})();

Или просто код целиком.

Отсутствует

 

№1571321-06-2021 08:00:44

momo2000
Участник
 
Группа: Members
Зарегистрирован: 03-09-2015
Сообщений: 228
UA: Firefox 88.0

Re: Custom Buttons

Attributes_Inspector_ucf.js что то не могу нигде найти?

Отсутствует

 

№1571421-06-2021 08:15:48

bezuma
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 26-01-2014
Сообщений: 256
UA: Chrome 86.0

Re: Custom Buttons

momo2000
https://github.com/Infocatcher/Custom_Buttons/blob/master/Attributes_Inspector/attrsInspector.js

добавлено
https://forum.mozilla-russia.org/viewtopic.php?id=56041

Отредактировано bezuma (21-06-2021 08:19:25)

Отсутствует

 

№1571521-06-2021 10:35:13

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1160
UA: Firefox 89.0

Re: Custom Buttons

momo2000
Ежели для ucf, тогда в custom_script.js https://forum.mozilla-russia.org/viewtopic.php?pid=789007#p789007
Путь в файлу attrsInspector.js Infocatcher, ссылку дал выше bezuma, свой пропишите.

Отсутствует

 

№1571624-06-2021 09:37:48

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 89.0

Re: Custom Buttons

Dumby
В Undo close убрал && !this.closedWindowCount; . Вроде все класс, А, вот когда остается один пункт "восстановить сессию" , жаль кнопка не горит. Как бы рихтануть? Сессия есть - кнопка горит.

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

    updUI: function() {
        var tabsCount = this.closedTabCount;
        var dis = !tabsCount && !this.closedWindowCount;
        if(
            dis
            && this.options.useMenu
            && this.options.menuTemplate.indexOf("restoreLastSession") != -1
            && "restoreLastSession" in this.ss && this.ss.canRestoreLastSession
        )
            dis = false;
        this.button.disabled = dis;
    },

2zln8kgu.png

Отредактировано ВВП (24-06-2021 10:15:05)

Отсутствует

 

№1571724-06-2021 21:22:19

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

Re: Custom Buttons

ВВП
Может убрать && this.options.useMenu
оно же у тебя false, вот и мешает.

Отсутствует

 

№1571824-06-2021 21:47:55

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 89.0

Re: Custom Buttons

Dumby

Dumby пишет

Может убрать && this.options.useMenu

Это первое что я делал. Так после выхода-входа один черт не горит...

Отсутствует

 

№1571924-06-2021 23:22:01

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

Re: Custom Buttons

ВВП пишет

после выхода-входа один черт не горит...

:/ Похоже, вот прям так сразу,
SessionStore не готово заявить canRestoreLastSession


Попробуй таймаут. Добавить в конец
setTimeout(() => this.undoCloseTabsList.updUI(), 250);

Отсутствует

 

№1572025-06-2021 08:16:43

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 89.0

Re: Custom Buttons

Dumby
От теперь то что надо. Класс!

Отсутствует

 

№1572127-06-2021 11:05:03

momo2000
Участник
 
Группа: Members
Зарегистрирован: 03-09-2015
Сообщений: 228
UA: Firefox 89.0

Re: Custom Buttons

Помогите создать простую кнопу для ucf

Выделить код

Код:

this.onmousedown =e=> {

   if ( e.button == 0 )
      self.timer = setTimeout(()=> {
      self.onmouseup = '';
      Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart)
   }, 200);
   
   this.onmouseup =e=> {
      if ( e.button ) return;
      clearTimeout(self.timer);
      gBrowser. selectedTab = gBrowser. addTrustedTab ("about:about")
   }

   if ( e.button == 1 )
      gBrowser. selectedTab = gBrowser. addTrustedTab ("about:support")
      
   if ( e.button == 2 )
     gBrowser. selectedTab = gBrowser. addTrustedTab ("about:config")
      
}

Отредактировано momo2000 (27-06-2021 15:58:51)

Отсутствует

 

№1572227-06-2021 22:02:14

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 89.0

Re: Custom Buttons

Dumby
Что в этом коде рихтануть , чтобы вместо personalToolbar(теперь он через настройки и уже подставил в код) , Sidebar бы теперь закрытым был всегда?

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

Выделить код

Код:

((id, g) => {
    addDestructor(r => r[5] == "e" && id in g && g[id].destroy());
    if (g[id]) return;
    var {obs, xulStore, prefs} = Services;
    var topic = "quit-application", doc = document.documentURI;
    obs.addObserver(g[id] = {
        observe(s, t, data) {
            this.destroy();
            if (data != "shutdown") return;
           
            xulStore.setValue(
                doc, "PersonalToolbar", "collapsed", "true"
            );
            for(var pref of [
                "browser.zoom.full",
                "intl.accept_languages",
                "network.trr.uri",
                "network.proxy.type",
                "extensions.long_left_click.timeContent",
                "browser.toolbars.bookmarks.visibility",
               
            ])
                prefs.clearUserPref(pref);
        },
        destroy() {
            delete g[id];
            obs.removeObserver(this, topic);
        }
    }, topic, false);
})(
    "CBQuitApplicationPersonalToolbarCollapser", Cu.getGlobalForObject(Cu)
);

Отредактировано ВВП (27-06-2021 22:03:28)

Отсутствует

 

№1572327-06-2021 23:47:46

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

Re: Custom Buttons

momo2000

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

Выделить код

Код:

(async (su, self) => CustomizableUI.createWidget(self = {
	label: "label",
	tooltiptext: "tooltiptext",
	image: "chrome://browser/content/robot.ico",

	id: "ucf-lprestart-about",
	localized: false,
	onCreated(btn) {
		btn.onmousedown = this.mousedown;
		btn.setAttribute("image", this.image);
	},
	mousedown(e) {
		if (e.detail != 1) return;
		var win = this.ownerGlobal;
		if (e.button == 2) {
			if (e.ctrlKey || e.shiftKey)
				return this.removeAttribute("context");
			this.setAttribute("context", "");
			return self.about(win, "config");
		}
		if (e.button == 1)
			return self.about(win, "support");
		this.onmouseup = self.mouseup;
		this.rt = win.setTimeout(self.restart, 200, this);
	},
	mouseup(e) {
		this.onmouseup = null;
		this.ownerGlobal.clearTimeout(this.rt);
		self.about(this.ownerGlobal, "about");
	},
	restart(btn) {
		btn.onmouseup = null;
		su.quit(su.eAttemptQuit | su.eRestart);
	},
	about(win, about) {
		win.gBrowser.selectedTab = win.gBrowser
			.addTrustedTab("about:" + about);
	}
}))(Services.startup);


ВВП
xulStore.removeValue(doc, "sidebar-box", "checked");
надо полагать.

Отсутствует

 

№1572428-06-2021 00:50:22

ВВП
Участник
 
Группа: Members
Зарегистрирован: 13-03-2021
Сообщений: 332
UA: Firefox 89.0

Re: Custom Buttons

Dumby
От черт, я был близок remove не учел. Класс,благодарю !

Отсутствует

 

№1572529-06-2021 17:02:27

Alex_one
Участник
 
Группа: Members
Зарегистрирован: 27-09-2015
Сообщений: 135
UA: Firefox 84.0

Re: Custom Buttons

Ребят, может знает кто, как добавить в кнопку BBCode пункт Нумерованный список?

Вот как выглядит выравнивание по левому краю и по правому.

Выделить код

Код:

Left|Выравнивание по левому краю|left|||data:image.....
Right|Выравнивание по правому краю|right|||data:image.....

Нумерованный Список|Список|......?

Чтобы вышло примерно так.

1. ТЕКСТ
2. ТЕКСТ
3. ТЕКСТ

Отсутствует

 

Board footer

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