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

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

№1622620-01-2022 20:29:54

negodnik
 
 
Группа: Members
Зарегистрирован: 14-03-2013
Сообщений: 604
UA: Seamonkey 2.38
Веб-сайт

Re: Custom Buttons

Товарищи, есть пара вопросов по кнопкам (Windows 7, Fx 91.4.1 ESR (32 бита)).

1. Раньше, до WE, Attributes Inspector показывал BODY и все «внутренности», а теперь только browser,
(на страницах about:* продолжает показывать элементы html).
Элементы chrome продолжает нормально показывать. Подключён через ucf.
Так и должно быть или я что-то сломал?
 
2. Кнопка «Миниатюры страниц»

скрытый текст
Хочу скрыть иконку кнопки с панели. Добавил вначале кода
self.style.display = 'none';
Перестали отображаться миниатюры.
 
Пробую:
getElementById("custombuttons-button6").style.display = null;
не работает, не скрывает иконку на панели
 
Пробую:
document.getElementById("custombuttons-button6").style.display = "none";
скрывает иконку, но миниатюры не отображаются
 
Можно что-то придумать?


3. Полный ноль в скриптах решил таки сделать кнопку

скрытый текст
Хочу «нажать» на кнопку "Minimize memory usage" на странице about:memory
через клик на ucf «Суммарный жор памяти»,
а именно, на отображаемое в адресной строке число #ucf-mem-indicator-label
(третий спойлер https://forum.mozilla-russia.org/viewto … 99#p790199)

Первый вариант:

Выделить код

Код:

var elem = document.getElementById("ucf-mem-indicator-label");
elem.onclick = doMMU;

function doMMU() {
  Services.obs.notifyObservers(null, "child-mmu-request");
  gMgr.minimizeMemoryUsage(() =>
    updateMainAndFooter(
      "Memory minimization completed",
      SHOW_TIMESTAMP,
      HIDE_FOOTER
    )
  );
}

Ошибка в консоли
Uncaught ReferenceError: gMgr is not defined
    doMMU chrome://custombuttons-context/content/button.js?windowId=Firefox&id=custombuttons-button9@init line 1 > Function:10
button.js:10:3
    doMMU chrome://custombuttons-context/content/button.js?windowId=Firefox&id=custombuttons-button9@init line 1 > Function:10


 
Второй вариант:

Выделить код

Код:

let gMgr = Cc["@mozilla.org/memory-reporter-manager;1"].getService(
  Ci.nsIMemoryReporterManager
);

var elem = document.getElementById("ucf-mem-indicator-label");
elem.onclick = doMMU;

function doMMU() {
  Services.obs.notifyObservers(null, "child-mmu-request");
  gMgr.minimizeMemoryUsage(() =>
    updateMainAndFooter(
      "Memory minimization completed",
      SHOW_TIMESTAMP,
      HIDE_FOOTER
    )
  );
}

Ошибка в консоли
Uncaught ReferenceError: updateMainAndFooter is not defined
    doMMU chrome://custombuttons-context/content/button.js?windowId=Firefox&id=custombuttons-button9@init line 1 > Function:15
button.js:15:5
 
Третий нерабочий вариант без ошибок

Выделить код

Код:

let gMgr = Cc["@mozilla.org/memory-reporter-manager;1"].getService(
  Ci.nsIMemoryReporterManager
);

var elem = document.getElementById("ucf-mem-indicator-label");
elem.onclick = doMMU;

function doMMU() {
  Services.obs.notifyObservers(null, "child-mmu-request");
  gMgr.minimizeMemoryUsage(() =>
alert('Да пошло всё в жопу!\nОпять ничего не очистилось.')
  );
}

Отсутствует

 

№1622721-01-2022 00:02:02

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

Re: Custom Buttons

negodnik пишет

Раньше, до WE, Attributes Inspector показывал BODY и все «внутренности», а теперь только browser
Так и должно быть или я что-то сломал?

Да, так и должно быть.
Attributes Inspector показывает то, что есть.
В многопроцессном Firefox вэбские „BODY и все «внутренности»”
находятся в другом процессе, то есть показывать просто нечего.

Хочу скрыть иконку кнопки с панели.
Перестали отображаться миниатюры.
Можно что-то придумать?

Миниатюры отображаются в <menupopup>, который,
в случае CB, добавляется как дочерний элемент самой кнопки.
Если кнопку скрыть, то и menupopup, соответственно, тоже будет скрытым.


Неужели нет ни одной кнопки без menupopup,
которая не жертва «Хочу скрыть», чтобы просто дописать (добавить)
этот код ей в Инициализацию.
В конце концов, можно подключить этот код в UCF custom_script_win.js

Третий нерабочий вариант без ошибок

Вариант рабочий, просто елемента ещё пока нет.
Может заверни в таймаут setTimeout(() => {/* Здесь код*/}, 2500);

Отсутствует

 

№1622821-01-2022 00:49:35

negodnik
 
 
Группа: Members
Зарегистрирован: 14-03-2013
Сообщений: 604
UA: Seamonkey 2.38
Веб-сайт

Re: Custom Buttons

Спасибо большое.
Про добавление в «чужую» инициализацию забыл, да для меня и не очень хорошо, если придётся обновлять кнопку, то ведь всю инициализацию смахну. Добавил код в custom_script_win.js. Работает.
Насчёт очистки памяти. Весь код завернул в таймаут, надеюсь, что это правильно.
Память, видимо из вредности, теперь сама отдаётся, не дожидаясь нажатия.

Отсутствует

 

№1622921-01-2022 02:16:41

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 537
UA: Firefox 91.0

Re: Custom Buttons

Dumby пишет

Нехочу. Можешь просто сам обернуть, типа

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

Выделить код

Код:

(async func => CustomizableUI.createWidget({
	id: "797743",
	label: "Сохранить как PNG",
	tooltiptext: "Сохранить как PNG",
	localized: false,
	onCreated(btn) {
		var win = btn.ownerGlobal;
		new win.Function("_id, xhtmlns, addDestructor", func.toString().slice(7, -1)).call(
			btn, this.id, "http://www.w3.org/1999/xhtml",
			destructor => win.addEventListener("unload", destructor, {once: true})
		);
		btn.setAttribute("image", "resource://usercontext-content/pet.svg");
	}
}))(() => {

// Здесь код

});

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


«The Truth Is Out There»

Отсутствует

 

№1623021-01-2022 08:34:28

dedfor
Участник
 
Группа: Members
Зарегистрирован: 22-12-2016
Сообщений: 62
UA: Yandex 22

Re: Custom Buttons

Здравствуйте! Кто-нибудь сталкивался с проблемой горячих клавиш? Есть ли способ назначить для СВ "Горячее" сочетание клавиш так, что бы она срабатывала даже если по каким-то причинам сменилась раскладка клавиатуры?

Отредактировано dedfor (22-01-2022 07:27:16)

Отсутствует

 

№1623123-01-2022 03:17:01

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 537
UA: Firefox 91.0

Re: Custom Buttons

Dumby
Переделайте пожалуйста кнопочку для UCF.

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

Выделить код

Код:

/*Initialization Code*/

// Открывать ссылки длинным кликом ..........
// https://forum.mozilla-russia.org/viewtopic.php?pid=720922#p720922 .....
(code => {
	var delay = 500;               // время удержания в мс
	var inBackground = false;      // открывать в фоновой вкладке
	var relatedToCurrent = false;  // открывать рядом с related вкладкой

	var p = "CB" + _id.slice(20) + ":LongPressHandler:";
	var msgDestroy = p + "Destroy", msgResponse = p + "Response";
	code = code.replace(/%MD%/g, msgDestroy).replace("%MR%", msgResponse)
		.replace("%DL%", delay).replace("%BG%", inBackground);

	var url = "data:," + encodeURIComponent(code);
	var mm = window.getGroupMessageManager("browsers");
	mm.loadFrameScript(url, true);

	function handleLongPress(msg) {
		var [link, ref, ctrl] = msg.data;
		var bg = inBackground != null ? inBackground
			: Services.prefs.getBoolPref("browser.tabs.loadInBackground");
		gBrowser.loadOneTab(link, { triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal() }), {
			relatedToCurrent, inBackground: ctrl != bg, //referrerURI: makeURI(ref)
		};
	}
	mm.addMessageListener(msgResponse, handleLongPress);

	addDestructor(() => {
		mm.removeDelayedFrameScript(url);
		mm.broadcastAsyncMessage(msgDestroy);
		mm.removeMessageListener(msgResponse, handleLongPress);
	});
})(`({
	init() {
		addEventListener("mousedown", this, false);
		addMessageListener("%MD%", this);
	},
	receiveMessage() {
		removeEventListener("mousedown", this, false);
		removeMessageListener("%MD%", this);
	},
	handleEvent(e) {
		if (e.type == "mousedown") {
			if (e.button || e.shiftKey || e.altKey || e.detail != 1) return;

			var a = e.originalTarget.closest("a[href]");
			if (!a || a.href.startsWith("javascript:")) return;

			this.ctrl = e.ctrlKey;
			this.initLongPress(a);
		} else {
			if (e.type == "click" && !this.link) e.preventDefault();
			this.destroyLongPress();
		}
	},
	get timer() {
		delete this.timer;
		return this.timer = Cc["@mozilla.org/timer;1"]
			.createInstance(Ci.nsITimer);
	},
	notify() {
		sendSyncMessage("%MR%", [this.link.href, this.link.ownerDocument.URL, this.ctrl]);
		this.link = null;
		if (!%BG%) this.destroyLongPress();
	},
	initLongPress(a) {
		addEventListener("click", this, true);
		addEventListener("dragstart", this, false);
		this.timer.initWithCallback(this, %DL%, this.timer.TYPE_ONE_SHOT);
		this.link = a;
	},
	destroyLongPress() {
		removeEventListener("click", this, true);
		removeEventListener("dragstart", this, false);
		this.link && this.timer.cancel();
		this.link = null;
	}
}).init();`);


«The Truth Is Out There»

Отсутствует

 

№1623224-01-2022 01:25:27

Ki_rrrilll
Участник
 
Группа: Members
Зарегистрирован: 22-11-2013
Сообщений: 127
UA: Firefox 85.0

Re: Custom Buttons

Я хочу сделать следующее.


Нажимаю левую кнопку мыши, затем нажимаю правую, держу нажатыми в течение допустим 2 сек. После этого запускается нужная мне функция. Но если за эти 2 сек. была отпущена любая кнопка мыши, то всё сбрасывается, все таймауты обнуляются.


Можно это реализовать?

Отсутствует

 

№1623324-01-2022 18:02:27

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

Re: Custom Buttons

Dumby
Нет ли кода стоп-видео ? Выкл. звук не то. Может в настройках ? Хочу при минимизации окна добавить ...Пока просто добавляю BrowserReload();
Вроде не кошерно как-то...

скрытый текст
<toolbarbutton class="titlebar-button titlebar-min"
                   oncommand="window.minimize(); BrowserReload();"
                   data-l10n-id="browser-window-minimize-button"
                   />

Отредактировано ВВП (24-01-2022 18:40:31)

Отсутствует

 

№1623425-01-2022 11:45:03

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

Re: Custom Buttons

unter_officer пишет

Переделайте пожалуйста кнопочку для UCF.

JSM'ка

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

Выделить код

Код:

var delay = 500;               // время удержания в мс
var inBackground = false;      // открывать в фоновой вкладке
var relatedToCurrent = false;  // открывать рядом с related вкладкой

var name = "LPA", EXPORTED_SYMBOLS = [name + "Child", name + "Parent"];

var u = {get timer() {
	delete this.timer;
	return this.timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
}};
inBackground == null
	? Object.defineProperty(u, "bg", {
		get: Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch)
			.getBoolPref.bind(null, "browser.tabs.loadInBackground")
	})
	: u.bg = inBackground;
//ChromeUtils.defineModuleGetter(u, "E10SUtils", `resource://gre/modules/E10SUtils.jsm`);

if (!ChromeUtils.domProcessChild.childID) {
	var triggeringPrincipal = Cu.getObjectPrincipal(Cu);
	var LPAParent = class extends JSWindowActorParent {
		receiveMessage(msg) {
			var [link, inBackground, ref] = msg.data;
			this.manager.browsingContext.top
				.embedderElement.ownerGlobal.gBrowser.loadOneTab(link, {
					triggeringPrincipal, relatedToCurrent, inBackground,
					//referrerInfo: u.E10SUtils.deserializeReferrerInfo(ref)
				});
		}
	}
	ChromeUtils.registerWindowActor(name, {
		allFrames: true,
		parent: {moduleURI: __URI__},
		messageManagerGroups: ["browsers"],
		child: {moduleURI: __URI__, events: {mousedown: {}}}
	});
}

class LPAChild extends JSWindowActorChild {
	handleEvent(e) {
		if (e.type == "mousedown") {
			if (e.button || e.shiftKey || e.altKey || e.detail != 1) return;

			var a = e.originalTarget.closest("a[href]");
			if (!a || a.href.startsWith("javascript:")) return;

			this.ctrl = e.ctrlKey;
			this.initLongPress(a);
		}
		else
			e.type == "click" && !this.link && e.preventDefault(),
			this.destroyLongPress();
	}
	timeout() {
		var bg = this.ctrl != u.bg;
		var data = [this.link.href, bg];

		//var referrerInfo = Cc["@mozilla.org/referrer-info;1"].createInstance(Ci.nsIReferrerInfo);
		//referrerInfo.initWithElement(this.link);
		//data.push(u.E10SUtils.serializeReferrerInfo(referrerInfo));

		this.sendAsyncMessage("", data);
		this.link = null;
		bg || this.destroyLongPress()
			//|| this.contentWindow.windowUtils.sendMouseEventToWindow("mouseup", -1, -1, 0, 1, 0); // Linux (?)
	}
	initLongPress(a) {
		this.contentWindow.addEventListener("click", this, true);
		this.contentWindow.addEventListener("dragstart", this, false);
		u.timer.initWithCallback(() => this.timeout(), delay, u.timer.TYPE_ONE_SHOT);
		this.link = a;
	}
	destroyLongPress() {
		this.contentWindow.removeEventListener("click", this, true);
		this.contentWindow.removeEventListener("dragstart", this, false);
		this.link && u.timer.cancel();
		this.link = null;
	}
	didDestroy() {
		this.link && this.destroyLongPress();
	}
}

Ki_rrrilll пишет

Нажимаю левую кнопку мыши, затем нажимаю правую, держу нажатыми в течение допустим 2 сек. После этого запускается нужная мне функция. Но если за эти 2 сек. была отпущена любая кнопка мыши, то всё сбрасывается, все таймауты обнуляются.

Можно это реализовать?

Маловато информации, но, теоретически
возможность реализации не исключена, зависит от несказанного.

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

Выделить код

Код:

var myFunction = () => {
	gBrowser.selectedTab = gBrowser.addTrustedTab("about:robots");
}


var tid;
var launcher = () => {
	tid = null;
	myFunction();
}
var mouseup = e => {
	var tn = tid === null;
	tn && e.button == 2 && e.preventDefault();
	if (tid) tid = clearTimeout(tid);
	else if (!tn || e.button) window.removeEventListener("mouseup", mouseup);
}
addEventListener("mousedown", e => tid = e.button == 2 && e.buttons == 3 && (
	window.addEventListener("mouseup", mouseup),
	setTimeout(launcher, 2e3)
));

ВВП пишет

Dumby
Нет ли кода стоп-видео ?

Вот жеж дичь, спрашивать про видео того, у кого его в баузере нет.
Ну <video src="…"> останавливает такой, например, код:
gBrowser.selectedBrowser.browsingContext.mediaController.stop();
если только это не сколько-то самых первых секунд воспроизведения.

Отсутствует

 

№1623525-01-2022 12:07:45

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 537
UA: Firefox 91.0

Re: Custom Buttons

Dumby пишет

JSM'ка

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

Выделить код

Код:

var delay = 500;               // время удержания в мс
var inBackground = false;      // открывать в фоновой вкладке
var relatedToCurrent = false;  // открывать рядом с related вкладкой

var name = "LPA", EXPORTED_SYMBOLS = [name + "Child", name + "Parent"];

var u = {get timer() {
	delete this.timer;
	return this.timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
}};
inBackground == null
	? Object.defineProperty(u, "bg", {
		get: Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch)
			.getBoolPref.bind(null, "browser.tabs.loadInBackground")
	})
	: u.bg = inBackground;
//ChromeUtils.defineModuleGetter(u, "E10SUtils", `resource://gre/modules/E10SUtils.jsm`);

if (!ChromeUtils.domProcessChild.childID) {
	var triggeringPrincipal = Cu.getObjectPrincipal(Cu);
	var LPAParent = class extends JSWindowActorParent {
		receiveMessage(msg) {
			var [link, inBackground, ref] = msg.data;
			this.manager.browsingContext.top
				.embedderElement.ownerGlobal.gBrowser.loadOneTab(link, {
					triggeringPrincipal, relatedToCurrent, inBackground,
					//referrerInfo: u.E10SUtils.deserializeReferrerInfo(ref)
				});
		}
	}
	ChromeUtils.registerWindowActor(name, {
		allFrames: true,
		parent: {moduleURI: __URI__},
		messageManagerGroups: ["browsers"],
		child: {moduleURI: __URI__, events: {mousedown: {}}}
	});
}

class LPAChild extends JSWindowActorChild {
	handleEvent(e) {
		if (e.type == "mousedown") {
			if (e.button || e.shiftKey || e.altKey || e.detail != 1) return;

			var a = e.originalTarget.closest("a[href]");
			if (!a || a.href.startsWith("javascript:")) return;

			this.ctrl = e.ctrlKey;
			this.initLongPress(a);
		}
		else
			e.type == "click" && !this.link && e.preventDefault(),
			this.destroyLongPress();
	}
	timeout() {
		var bg = this.ctrl != u.bg;
		var data = [this.link.href, bg];

		//var referrerInfo = Cc["@mozilla.org/referrer-info;1"].createInstance(Ci.nsIReferrerInfo);
		//referrerInfo.initWithElement(this.link);
		//data.push(u.E10SUtils.serializeReferrerInfo(referrerInfo));

		this.sendAsyncMessage("", data);
		this.link = null;
		bg || this.destroyLongPress()
			//|| this.contentWindow.windowUtils.sendMouseEventToWindow("mouseup", -1, -1, 0, 1, 0); // Linux (?)
	}
	initLongPress(a) {
		this.contentWindow.addEventListener("click", this, true);
		this.contentWindow.addEventListener("dragstart", this, false);
		u.timer.initWithCallback(() => this.timeout(), delay, u.timer.TYPE_ONE_SHOT);
		this.link = a;
	}
	destroyLongPress() {
		this.contentWindow.removeEventListener("click", this, true);
		this.contentWindow.removeEventListener("dragstart", this, false);
		this.link && u.timer.cancel();
		this.link = null;
	}
	didDestroy() {
		this.link && this.destroyLongPress();
	}
}

Dumby, большое спасибо.


«The Truth Is Out There»

Отсутствует

 

№1623625-01-2022 12:42:58

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

Re: Custom Buttons

Dumby
Мне нравиться gBrowser.selectedBrowser.browsingContext.mediaController.pause();  Куда бы вставить на развертывание окна: gBrowser.selectedBrowser.browsingContext.mediaController.play();

Отсутствует

 

№1623725-01-2022 13:46:37

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

Re: Custom Buttons

ВВП пишет

Куда бы вставить на развертывание

Что-то сходу не смог найти.
А чего сразу вставить, может пробуем написать своё

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

Выделить код

Код:

(was => addEventListener("sizemodechange", e => {
	if (was == STATE_MINIMIZED) {

		setTimeout(Services.prompt.alert, 0, null, " ", "Welcome back");

	}
	was = windowState;
}))(windowState);

Отсутствует

 

№1623825-01-2022 14:00:55

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

Re: Custom Buttons

Dumby

Dumby пишет

А чего сразу вставить, может пробуем написать своё

А куда вставить ?

Отсутствует

 

№1623926-01-2022 09:44:52

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

Re: Custom Buttons

ВВП пишет

куда вставить ?

В Инициализацию.
Если алерт всегда возникает при развёртывании,
и никогда иначе, то можно строку с алертом заменить своим кодом.

Отсутствует

 

№1624026-01-2022 11:55:36

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

Re: Custom Buttons

del

Отредактировано ВВП (27-01-2022 17:56:54)

Отсутствует

 

№1624126-01-2022 16:40:47

Ki_rrrilll
Участник
 
Группа: Members
Зарегистрирован: 22-11-2013
Сообщений: 127
UA: Firefox 85.0

Re: Custom Buttons

Dumby пишет

Ki_rrrilll пишет

Нажимаю левую кнопку мыши, затем нажимаю правую, держу нажатыми в течение допустим 2 сек. После этого запускается нужная мне функция. Но если за эти 2 сек. была отпущена любая кнопка мыши, то всё сбрасывается, все таймауты обнуляются.

    Можно это реализовать?

Маловато информации, но, теоретически
возможность реализации не исключена, зависит от несказанного.

Dumby, большое спасибо!


Может подскажете еще одну вещь. Это в  однопроцессном режиме, чтоб не было вопросов..
Почему на некоторых сайтах этот NodeList всегда пуст?

Выделить код

Код:

let elms = content.document.querySelectorAll(':hover');

Ведь если курсор находится над страницей, то какие то элементы доджны же соответствовать селектору :hover?

Отсутствует

 

№1624226-01-2022 16:52:25

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 537
UA: Firefox 91.0

Re: Custom Buttons

Dumby, есть вот такой вопрос.
Я никогда не пользуюсь несколькими окнами браузера.
В старых версиях FF, например, в дополнении Tab Mix Plus, была такая настройка: "Разрешить использование принудительного однооконного режима браузера".
Эта настройка приводила к тому, что при попытке открыть новое окно, открывалась новая вкладка в текущем окне.
Возможно ли такое реализовать в версии FF91 ESR?
Если такое возможно, то сделайте пожалуйста это через config.js.


«The Truth Is Out There»

Отсутствует

 

№1624327-01-2022 09:03:10

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

Re: Custom Buttons

Ki_rrrilll пишет

Может подскажете еще одну вещь.

Не, в контентских делах я не помощник.
И «некоторые» сайты, видимо, настолько забористые,
что их адреса даже нельзя называть, а то, может,
у других заинтересованных ответить было бы больше шансов.


unter_officer пишет

в дополнении Tab Mix Plus, была такая настройка

Она и сейчас есть. Только что-то в уе не смог найти.
Включил extensions.tabmix.singleWindow, рестарт.
И пара-тройка тестов:
1. Ctrl+N, вместо окна — вкладка (жесть какая).
    Но Ctrl+Shift+P открывает окно, если таковое не имеется, что логично.
2. Вот инфа от LPP WE открывается во вкладке
    поперёк настройки [✓]  Открывать в окне,
    но, например, с PT, увы, пустая вкладка, нелепый пример, но всё же.
3. Веб-консоль (Ctrl+Shift+K), запуск open(location, "", "width=500"); + разрешение,
    вместо окна — вкладка.

Отсутствует

 

№1624427-01-2022 11:31:39

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

Re: Custom Buttons

del

Отредактировано ВВП (27-01-2022 17:55:42)

Отсутствует

 

№1624527-01-2022 12:34:54

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 537
UA: Firefox 91.0

Re: Custom Buttons

Dumby пишет

Она и сейчас есть. Только что-то в уе не смог найти.
Включил extensions.tabmix.singleWindow, рестарт.
И пара-тройка тестов:
1. Ctrl+N, вместо окна — вкладка (жесть какая).
    Но Ctrl+Shift+P открывает окно, если таковое не имеется, что логично.
2. Вот инфа от LPP WE открывается во вкладке
    поперёк настройки [✓]  Открывать в окне,
    но, например, с PT, увы, пустая вкладка, нелепый пример, но всё же.
3. Веб-консоль (Ctrl+Shift+K), запуск open(location, "", "width=500"); + разрешение,
    вместо окна — вкладка.

Dumby, если честно, я ничего из вашего ответа не понял.
Возможно, мой вопрос был задан не совсем корректно, поэтому и ответ такой.


Собственно я спрашивал возможно ли реализовать в версии FF91 ESR принудительное использование однооконного режима браузера.
Чтобы при попытке открыть новое окно, открывалась новая вкладка в текущем окне.
И если такое возможно, то реализовать это через config.js.


«The Truth Is Out There»

Отсутствует

 

№1624627-01-2022 15:53:06

Ki_rrrilll
Участник
 
Группа: Members
Зарегистрирован: 22-11-2013
Сообщений: 127
UA: Firefox 85.0

Re: Custom Buttons

Dumby пишет

Ki_rrrilll пишет

    Может подскажете еще одну вещь.

Не, в контентских делах я не помощник.
И «некоторые» сайты, видимо, настолько забористые,
что их адреса даже нельзя называть, а то, может,
у других заинтересованных ответить было бы больше шансов.

Нет, сайты не забористые, просто я не хотел обвинений в рекламе. Вот один из этих сайтов: https://www.yaplakal.com/


Там из всех элементов при наведении курсора только ссылки имеют псевдокласс :hover, остальные элементы нет.
Почему? Может кто ответит?


И хотел попросить у вас, Dumby, код чтобы при закрытии вкладки, открытой из СВ, возвращаться на последнюю активную вкладку. Сейчас если я закрываю вкладку  созданную из СВ, перехожу на крайнюю правую.

Отредактировано Ki_rrrilll (27-01-2022 16:53:56)

Отсутствует

 

№1624727-01-2022 17:50:23

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

Re: Custom Buttons

unter_officer пишет

я ничего из вашего ответа не понял

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


Казалось бы, не нравятся окна — не открывай, но, похоже,
не всё так просто, видимо, вебу дано право их открывать (см. п. 3).


Вот и поставил упомянутое расширение, чтоб посмотреть.
Нужен bootstapLoader. Есть у xiao, или, может, парафраз,
смысл которого только в простоте копипасты в config.js


ВВП пишет

Накрутил кнопку

Уж поверь наслово, я, обычно, не склонен
критиковать чужой код, если не попросят, но это ...


выкинь немедленно, чтоб такого говнокода
в браузере даже духу никогда не было.


Наверно и рад бы был помочь исправить, но, нужно
объяснение замысла, которое, разумеется, взять будет негде.


Ki_rrrilll пишет

Там из всех элементов при наведении курсора только ссылки имеют псевдокласс :hover, остальные элементы нет.

Ух ты! Я вижу это.
Дело, каким-то ..., в кривом <!DOCTYPE>


Например, воспроизводится по адресу
data:text/html;charset=utf-8,<center><h1>TEST</h1></center>


и не воспроизводится по адресу
data:text/html;charset=utf-8,<!DOCTYPE html><center><h1>TEST</h1></center>

при закрытии вкладки, открытой из СВ

Уволь.

Отсутствует

 

№1624827-01-2022 19:08:49

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 537
UA: Firefox 91.0

Re: Custom Buttons

Dumby пишет

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

Я же выше два раза написал, что под этим имеется ввиду.


Хорошо. Сформулирую иначе.
Мне надо, чтобы при попытке открыть новое окно FF, вместо нового окна открывалась новая вкладка в текущем окне.
Такое можно реализовать в FF 91 ESR?


Если нет, то нет. Переживу.
А ставить расширения, от которых я всеми силами стараюсь избавится заменяя функции этих расширений кнопками СВ и UCF, я не хочу.


«The Truth Is Out There»

Отсутствует

 

№1624927-01-2022 22:03:53

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

Re: Custom Buttons

Dumby
Помните скрипт "сохранить сессию" А как бы туда втулить " Удалить все сессии" ? А то кнопу новую делать ,плюс батник...
Да и восстановить сессию тоже желательно в новой вкладке...

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

Отсутствует

 

№1625028-01-2022 03:10:46

Ki_rrrilll
Участник
 
Группа: Members
Зарегистрирован: 22-11-2013
Сообщений: 127
UA: Firefox 85.0

Re: Custom Buttons

Dumby пишет

при закрытии вкладки, открытой из СВ

Уволь.

Очень жаль.

Отсутствует

 

Board footer

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