Иногда при запуске открываются ненужные окна/вкладки, появляющиеся из-за какого-то сбоя. Помогает только удаление sessionstore.jsonlz4 при закрытом браузере.
Подскажите код, чтобы при следующем запуске сессия однократно не восстанавливалась. Снятие флажка настроек не помогает: «Открыть предыдущие окна и вкладки»
Например, такой сбой будет, если попробовать печатать фотку с почты, отправленную с Андроида. Такие фото даже в штатном Windows просмотрщике не открываются, пишет: Недостаточно памяти. Помогает только замена профиля цвета, например на Agfa: Swop Standart.
Возвращаясь к скрипту Менеджер сессий (+ мои правки тултипа): эту доработку удобнее в нём сделать, например добавить пункт меню: "Не восстанавливать сессию браузера при следующем запуске".
Отсутствует
Dobrov
Кнопка "Нет псевдосессиям".
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%u041D%u0435%u0442%20%u043F%u0441%u0435%u0432%u0434%u043E-%u0441%u0435%u0441%u0441%u0438%u0438%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAACNElEQVR42nWTXWiOYRjH78cwX832MlqMxDZy9kaa0hTlI5laUmhqO1CyKLZx5GArdjIHDnyVEyUn42BMmUhZsmWtlYRR1A7mY6YtNPvw+9f/1bu9j6d+3Xf3dd3/5/q6o/CfbzIkI5ZZkAOb4CDcjkJ3O+tv7DNZt0ALDERxIhxGEyG5jO1u2A9rYSFU++Ik7IErMCa/KCaSgpYwtLci5EpgDSyFOb78Au7AIqiwyGGifBknlM9yDM5YIFhE3zj0w1z4BPWIPHYWGULKPQlH4QDMt9B03044O0WIy7NZxAwVEuMoZ+vZn7KYIuuFFZCw0Ag8gOPwJXIEO6DQYt0I6W8SK2ZtgDJ4BqWwwBGq+B9cgrsSkuERbIAsaEZIl4ewKcKVUOv2f4ensBy2ycddrEkJqRvrnGqDhf447SynpDTq4SGcgzp3rUsZSUjFvAebndolaETss4eywJdXwT4NJOcn2Td5YF9rYCWkQl6AQ7AYOuTEhVZsqsllKHFq7ZyPcK66nHfRX6l2qWLvVG2gCIbh/o0w+LwqJCo9Cu81yYi8cbrbWXZ5rj7C9cjhJzzuehLz4Cv8gNUwAd/0zpQ2Yu+4o47l2fZL/v+GDKNG4LQfYnbME1THbsE1xHqnG9OFFM0J2Oqix32jcNGR9WcIIbLR0RTaWSEvgWJ3JhXRALTBTYR6pgghovm5aqGutB+U+1xzNAhPXKdOdS4jNYT0HI7AWxzG01JVJxuh1fTBT3zG4nL+CzymsTl1OvV4AAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%0A/*Initialization%20Code*/%0A%28%28topic%2C%20id%29%20%3D%3E%20%7B%0A%20%20%20%20var%20obs%2C%20getObserver%20%3D%20%28%29%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20for%28var%20o%20of%20Services.obs.enumerateObservers%28topic%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20res%20%3D%20o.wrappedJSObject%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28res%20%26%26%20id%20in%20res%29%20return%20res%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20addDestructor%28reason%20%3D%3E%20%7B%0A%20%20%20%20%20%20%20%20if%20%28reason%5B5%5D%20%21%3D%20%22e%22%29%20return%3B%0A%20%20%20%20%20%20%20%20var%20obs%20%3D%20getObserver%28%29%3B%0A%20%20%20%20%20%20%20%20obs%20%26%26%20obs.destroy%28%29%3B%0A%20%20%20%20%7D%29%3B%0A%20%20%20%20%28obs%20%3D%20getObserver%28%29%29%20%7C%7C%20Services.obs.addObserver%28obs%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%5Bid%5D%3A%20true%2C%20__proto__%3A%20null%2C%20destroyed%3A%20false%2C%0A%20%20%20%20%20%20%20%20destroy%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20Services.obs.removeObserver%28this%2C%20topic%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.destroyed%20%3D%20true%3B%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20get%20wins%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20Array.from%28Services.wm.getEnumerator%28%22navigator%3Abrowser%22%29%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.filter%28win%20%3D%3E%20win.toolbar.visible%29%3B%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20observe%28cancelQuit%2C%20t%2C%20data%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20data%20%21%3D%20%22restart%22%20%26%26%20%21cancelQuit.data%20%26%26%20this.onQuit%28true%29%3B%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20handleEvent%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.destroyed%20%7C%7C%20this.onQuit%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20onQuit%28fromObs%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20%7Bwins%7D%20%3D%20this%2C%20multi%20%3D%20wins.length%20%3E%201%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28multi%29%20return%20fromObs%20%26%26%20this.destroy%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.destroy%28%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20%7Btabs%7D%20%3D%20wins%5B0%5D.gBrowser%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28tabs.length%20%3E%201%20%29%20return%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20es%20%3D%20JSON.parse%28SessionStore.getTabState%28tabs%5B0%5D%29%29.entries%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20es.length%20%3D%3D%201%20%26%26%20wins%5B0%5D.isBlankPageURL%28es%5B0%5D.url%29%20%26%26%20this.erase%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20erase%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20Services.obs.notifyObservers%28null%2C%20%22browser%3Apurge-session-history%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Cu.import%28%22resource%3A///modules/sessionstore/SessionFile.jsm%22%2C%20%7B%7D%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.SessionFileInternal.write%20%3D%20%28%29%20%3D%3E%20%7B%7D%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%2C%20topic%2C%20false%29%3B%0A%20%20%20%20addEventListener%28%22DOMWindowClose%22%2C%20obs%29%3B%0A%7D%29%28%22quit-application-requested%22%2C%20%60%24%7B_id%7D%3AquitApplicationRequestedObserver1%60%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Отсутствует
Кнопка запуска программы.
Посмотрите плз, где-то ошибка?
Никак не хочет запускаться программа.
91.8.0esr
startProcess("C:\\Program Files\\Psiphon\\psiphon3.exe",[""]); function startProcess(path, args) { var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsIFile); file.initWithPath(path); if(file.exists()) { var process = Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess); process.init(file); process.run(false, args, args.length); } else custombuttons. alertBox ("Файл не найден", path); };
Отсутствует
Кнопка "Нет псевдосессиям".
Dumby - а можно эту кнопку для UCF? у меня не работает Custombuttons!
Иногда при запуске открываются ненужные окна/вкладки, появляющиеся из-за какого-то сбоя. Помогает только удаление sessionstore.jsonlz4 при закрытом браузере.
Подскажите код, чтобы при следующем запуске сессия однократно не восстанавливалась. Снятие флажка настроек не помогает: «Открыть предыдущие окна и вкладки»
Отредактировано Dobrov (23-05-2022 02:32:50)
Отсутствует
Добавлено 23-05-2022 11:46:56
если мод из LRepacks, то не запускается через CB
Да, он самый.
Всё тогда понял, жаль.
ЗЫ: Хотя предыдущая версия та что portable запускалась.
Обновился и всё.
Отредактировано Alex_one (23-05-2022 11:51:20)
Отсутствует
DumbyПросьба еще раз поправить код кнопки для вставки символов https://forum.mozilla-russia.org/viewto … 86#p776486
С какой-то версии v91 и в v100 окошко стало меньше по вертикали, третий столбец символов почему-то стал продолжением первого столбца, символы в окошке стали отображаться в 2 столбца вместо 3-х и появилась прокрутка.
Решено, виноват стиль.
Отредактировано shadow_user (24-05-2022 15:59:45)
Отсутствует
kokoss
Мой косяк! Это мой userChrome.css ломает отображение А точнее, ломает стиль "табы в несколько рядов" от Aris-t2 https://github.com/Aris-t2/CustomCSSfor … _lines.css
Теперь, блин, нужно мультирядность ремонтировать
Отредактировано shadow_user (24-05-2022 16:31:01)
Отсутствует
А точнее, ломает стиль "табы в несколько рядов" от Aris-t2 https://github.com/Aris-t2/CustomCSSfor … _lines.css
Теперь, блин, нужно мультирядность ремонтировать
Вот с этим скриптом вроде работает.
Win7
Отсутствует
Как открыть заданную папку?
После папка нужен двойной обратный слэш, иначе первый клик будет холосным, второй клик откроет папку. Далее некоторое время будет открывать одним кликом, потом снова вторым, в общем, как-то так
catch(e) { return "F:\\папка\\"; };
Код для секции Инициализация.
Вот с этим скриптом вроде работает.
Спасибо за скрипт.
Отредактировано shadow_user (25-05-2022 09:25:58)
Отсутствует
После папка нужен двойной обратный слэш, иначе первый клик будет холосным, второй клик откроет папку. Далее некоторое время будет открывать одним кликом, потом снова вторым, в общем, как-то так
У меня всегда открывает одним кликом.
Win7
Отсутствует
а можно эту кнопку для UCF?
Кнопка не совсем об этом, но там есть такое:
Services.obs.notifyObservers(null, "browser:purge-session-history");
Cu.import("resource:///modules/sessionstore/SessionFile.jsm", {})
.SessionFileInternal.write = () => {};
То есть, рассылаем топик на очистку и ломаем запись.
Однако, посмотрел на 100 и, кажется, это приводит к увеличению
времени закрытия браузера (процесс долго висит в диспетчере),
и даже рестарт не работает из-за этого, так что...
А вот интересно, если создать и сохранить пустую сессию,
а при сбое назначить её загрузочной, то это работает?
Если да, то можно попробовать встроить пункт с подобным функционалом,
если сам скрипт будет предоставлен, конечно.
мультирядность ремонтировать
Вроде атрибут part у scrollbox'а для этой кнопки не нужен.
Можно после
parent.setAttribute("orient", "horizontal");
добавить
parent.scrollbox && parent.scrollbox.removeAttribute("part");
Отсутствует
Вроде атрибут part у scrollbox'а для этой кнопки не нужен.
Спасибо преогромное Теперь не конфликтует с мультирядностью от Aris-t2
Отсутствует
Services.obs.notifyObservers(null, "browser:purge-session-history");
Cu.import("resource:///modules/sessionstore/SessionFile.jsm", {}).SessionFileInternal.write = () => {};
Как исправить код удаления сессии? Вторая строка даёт ошибку: TypeError: SessionFile.write(...) is undefined
Отсутствует
Вторая строка даёт ошибку
Этот код для исполнения при выходе из браузера, так что фиолетово.
Но если сделать пустую функцию асинхронной, то этой ошибки не будет.
async () => {};
Отсутствует
Dumby этот код приводит к зависанию браузера при выходе или перезапуске.
Специально проверял на Windows, Firefox 97.0.2.
То есть, если выполнить этот код удаления сессии, то браузер зависнет при выходе или перезапуске.
Services.obs.notifyObservers(null, "browser:purge-session-history"); Cu.import("resource:///modules/sessionstore/SessionFile.jsm", {}).SessionFileInternal.write = async () => {};
Отсутствует
Custom Buttons 0.0.7.0.0.26, paxmod и bootstrap в zip-папке.
И, очередной вариант антиподписячего кода,
так как от предыдущего варианта на ранних бетах будет краш,
поскольку Cu.import() больше не возвращает NSVO.
Тут бы удобно воспользоваться тем, что он теперь возвращает,
но боюсь сам метод в будущем будет удалён, поэтому Debugger.
// try {(jsval => { var g = Cu.getGlobalForObject(jsval), o = g.Object, {freeze} = o, NEW; o.freeze = obj => { if (Components.stack.caller.filename != "resource://gre/modules/AppConstants.jsm") return freeze(obj); obj.MOZ_REQUIRE_SIGNING = false; if ((NEW = "MOZ_ALLOW_ADDON_SIDELOAD" in obj)) lockPref("extensions.experiments.enabled", true); else obj.MOZ_ALLOW_LEGACY_EXTENSIONS = true, lockPref("extensions.legacy.enabled", true); return (o.freeze = freeze)(obj); } lockPref("xpinstall.signatures.required", false); lockPref("extensions.langpacks.signatures.required", false); var useDbg = true, xpii = "resource://gre/modules/addons/XPIInstall.jsm"; if (Ci.nsINativeFileWatcherService) { // Fx < 100 jsval = Cu.import(xpii, {}); var shouldVerify = jsval.shouldVerifySignedState; if (shouldVerify.length == 1) useDbg = false, jsval.shouldVerifySignedState = addon => !addon.id && shouldVerify(addon); } if (useDbg) { jsval = g.ChromeUtils.import(xpii); var sandbox = new Cu.Sandbox(g, {freshCompartment: true}); Cc["@mozilla.org/jsdebugger;1"].createInstance(Ci.IJSDebugger).addClass(sandbox); var dbg = new sandbox.Debugger(); dbg.addDebuggee(g); var env = dbg.makeGlobalObjectReference(g) .makeDebuggeeValue(jsval.XPIInstall.installTemporaryAddon).environment; var ref = eval("(name => env.find(name)?.getVariable(name)?.unsafeDereference?.())"); jsval.XPIDatabase = ref("XPIDatabase"); var proto = ref("Package").prototype; var verify = proto.verifySignedState; proto.verifySignedState = function(id) { return id ? {cert: null, signedState: undefined} : verify.apply(this, arguments); } dbg.removeDebuggee(g); } if (NEW) jsval.XPIDatabase.isDisabledLegacy = () => false; })( "permitCPOWsInScope" in Cu ? Cu.import("resource://gre/modules/WebRequestCommon.jsm", {}) : Cu );} catch(ex) {Cu.reportError(ex);}
Отсутствует