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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.
  • Форумы
  •  » iMacros
  •  » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

№103-05-2017 12:26:23

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3319
UA: Chrome 58.0
Веб-сайт

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)



iMacros for FireFox - общие вопросы, обсуждение возможностей (Часть 2)



Правила оформления сообщений в данном топике:

1a50e37cd460db106ba5ca4992038a53.jpg


  • Адрес сайта и страницы, на которой возникла проблема, размещается в тегах [ spoiler][ noindex]http://адрес_сайта/название_страницы[ /noindex][ /spoiler]

  • Для размещения кода, используйте тег "Code" внутри тега "Spoiler" - [ spoiler][ code]ваш код[ /code][ /spoiler]
    или выложите на сайт «Pastebin».
  • При размещении объемных материалов, используйте тег "Spoiler" - [ spoiler]ваш текст[ /spoiler]
    или выложите на сайт «Pastebin».
  • Размещать изображения в открытом виде. Для размещения скриншотов и других изображений, используйте тег "Spoiler" - [ spoiler][ img]http://ссылка_на_изображение[ /img][ /spoiler]
    .


«Можно ответить на любой вопрос, если вопрос задан правильно.»
Платон

«Не каждый вопрос заслуживает ответа.»
Сайрус


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox


на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№102716-07-2019 12:57:15

Алим
Участник
 
Группа: Members
Зарегистрирован: 20-12-2013
Сообщений: 332
UA: Firefox 56.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

В массиве имею 1 элемент такого вида "30000,8889,10700,30000руб"
Мне нужно разбить их, то есть каждое число после запятой сделать отдельными элементами в массиве и без "руб".

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.


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

Выделить код

Код:

var XMLHttpRequest=Components.Constructor("@mozilla.org/xmlextras/xmlhttprequest;1");
var b=XMLHttpRequest();b.open('GET',ссылка,false);b.send('');
var txt = b.responseText;
var результат = txt.replace(/&\#160;|<td>| |,00|<span class="caption-subject bold">/g,'').match(/.*руб/g)

var массив = []
массив.push(результат)

alert(массив.join('\n').split('руб,'))

var массив = массив.split(',')

alert(массив[1])

Отредактировано Алим (16-07-2019 12:59:55)


Истина в последней инстанции

Отсутствует

 

№102816-07-2019 16:08:51

PRESIDENT
Участник
 
Группа: Members
Зарегистрирован: 09-04-2015
Сообщений: 885
UA: Firefox 68.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

попробуй так
...........match(/.*руб/g)
...........match(/\d+/g)


offtop
Звиняюсь что не в тему,
но может кто юзает и подскажет аддончик для авторизации проксей
нужен для 49 и/или 55 ФФ

отредактировано InfSub

Отредактировано PRESIDENT (16-07-2019 16:13:45)


Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.

Отсутствует

 

№102916-07-2019 16:51:05

karginaolga
Участник
 
Группа: Members
Зарегистрирован: 23-09-2016
Сообщений: 199
UA: Firefox 69.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Алим
после match вы не сможете использовать ни replace ни split
и вам об этом ни раз писали.

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

Выделить код

Код:

var результат = результат.toString();


и дальше можете работать с ним

Отсутствует

 

№103016-07-2019 16:58:55

dim222
Участник
 
Группа: Members
Зарегистрирован: 06-03-2016
Сообщений: 423
UA: Firefox 68.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

PRESIDENT

скрытый текст
Попробуй "Proxy Authentication".
>> Здесь <<  расширения.

InfSub

Отредактировано dim222 (16-07-2019 17:00:21)

Отсутствует

 

№103119-07-2019 12:49:47

Алим
Участник
 
Группа: Members
Зарегистрирован: 20-12-2013
Сообщений: 332
UA: Firefox 56.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

karginaolga благодарю, теперь буду знать.
Я думал, что надо в строку перевести. но делал не правильно .str добавлял в конце.
Забыл про .toString().

Ещё возник вопрос. В документе имеется одна строчка с переносом строки \n, пробывал и \\n и <br>
Но не делает перенос строки при вставке, а вставляет вместе со знаком переноса.

Как сделать, чтобы вставлял с переносом строки?
Может прежде, чем вставлять .textContent=txt, нужно преобразовать iimGetExtract().метод ?

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

Выделить код

Код:

iimPlayCode('SET !ERRORIGNORE YES\n'+
'SET !DATASOURCE_DELIMITER #\n'+
'SET !DATASOURCE doc.txt\n'+
'SET !DATASOURCE_LINE 1\n'+
'SET !EXTRACT {{!COL1}}')
var txt = iimGetExtract()

content.document.getElementsByClassName('posting_itx')[0].textContent=txt

Отредактировано Алим (19-07-2019 12:50:48)


Истина в последней инстанции

Отсутствует

 

№103219-07-2019 14:10:11

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3319
UA: unknown 0.0
Веб-сайт

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Алим
с переносом строки или с символами "\n" внутри текста? это как бы не одно и то же.
Перенос строки не будет считан тем методом, который вы используете, так как чтение идёт построчно
Вставляйте уникальный тег, например тот же <br> и заменяйте его replace'ом в переменной на \r\n или на \n перед вставкой в форму


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox


на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№103319-07-2019 15:35:50

Алим
Участник
 
Группа: Members
Зарегистрирован: 20-12-2013
Сообщений: 332
UA: Firefox 56.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

InfSub
replace(/<br>/,"\n") помогло.

Когда ссылка на сайт набирается по методу iim-event , появляется картинка от сайта, а когда идёт вставка методом js-dom, то не появляется. Можно ли решить это по средством js-dom или js ?

js-dom
27261822_m.jpg

iim-event
27261823_m.jpg

Отредактировано Алим (19-07-2019 15:46:05)


Истина в последней инстанции

Отсутствует

 

№103419-07-2019 17:46:37

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3319
UA: unknown 0.0
Веб-сайт

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Алим
а что собственно решить?
чтобы появлялась или чтобы не появлялась?
разве ваш ответ не содержит ответ на этот вопрос?

Добавлено 19-07-2019 17:48:35
event по сути работает по с помощью того же dom
проанализируйте его код и перепешите в js

Отредактировано InfSub (19-07-2019 17:48:35)


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox


на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№103522-07-2019 22:34:20

saurbeck
Участник
 
Группа: Members
Зарегистрирован: 27-05-2019
Сообщений: 40
UA: Chrome 75.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Подскажите как лучше всего закрывать Мазилу js-скриптом? Есть минимум 2 способа: через создание батника и команду

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

Выделить код

Код:

taskkill /F /IM FirefoxPortable.exe


и другой способ это настроить в Мазиле закрытие браузера при закрытии последней вкладки. Так при помощи команды ТАВ CLOSE браузер будет закрыт.
И вот тут возникает главный вопрос: какой способ лучше и почему? Интересуюсь не просто так, а потому что пользуясь способом taskkill, когда потом запускается браузер, то каждый раз появляется запрос типа закрыть или восстановить вкладки (окна). По всей видимости браузер запоминает что были окна (или окно) открыты и потом при запуске/перезапуске выдаёт запрос. Это как-то не очень хорошо.
Так в общем и не понятно, какой способ закрытия браузера лучше? И почему?

Отредактировано saurbeck (22-07-2019 22:34:50)

Отсутствует

 

№103623-07-2019 00:15:41

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 123
UA: Chrome 64.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Держите памятку

Работа с вкладками

Выделить код

Код:

var browserWin = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                       .getInterface(Components.interfaces.nsIWebNavigation)
                       .QueryInterface(Components.interfaces.nsIDocShellTreeItem)
                       .rootTreeItem
                       .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                       .getInterface(Components.interfaces.nsIDOMWindow);
 
//Закрыть активную вкладку
browserWin.getBrowser().removeCurrentTab();

//Закрыть активную вкладку
this.window.close();

//Закрыть все вкладки слева, кроме закреплённых вкладок
browserWin.gBrowser.visibleTabs.forEach((tab)=> !tab.pinned && tab._tPos < browserWin.gBrowser.mCurrentTab._tPos && browserWin.gBrowser.removeTab(tab));

//Закрыть все вкладки, кроме закреплённых вкладок
[...browserWin.gBrowser.tabs].forEach((tab)=> !tab.pinned && browserWin.gBrowser.removeTab(tab));

//Закрыть все вкладки справа с подтверждением
browserWin.gBrowser.removeTabsToTheEndFrom(browserWin.gBrowser.mCurrentTab);

//Закрепить вкладку
browserWin.gBrowser.pinTab(browserWin.gBrowser.mCurrentTab);

//Закрепить вкладку, если откреплена и открепить вкладку если закреплена
var currTab = browserWin.gBrowser.mCurrentTab;
currTab.pinned ? browserWin.gBrowser.unpinTab(currTab) : browserWin.gBrowser.pinTab(currTab);


Если открыто несколько вкладок или одна, то универсальнее будет

Закрыть все вкладки

Выделить код

Код:

var browserWin = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                       .getInterface(Components.interfaces.nsIWebNavigation)
                       .QueryInterface(Components.interfaces.nsIDocShellTreeItem)
                       .rootTreeItem
                       .QueryInterface(Components.interfaces.nsIInterfaceRequestor)
                       .getInterface(Components.interfaces.nsIDOMWindow);

//Закрыть все вкладки
[...browserWin.gBrowser.tabs].forEach((tab)=> browserWin.gBrowser.removeTab(tab));


Некоторые старые твики для вкладок

about:config
browser.tabs.animate (Логическое) - отвечает за анимацию панели вкладок (открытие\закрытие вкладок). Значения:
TRUE - анимация включена
FALSE - анимация выключена

browser.tabs.warnOnClose (Логическое) - определяет: показывать или нет предупреждение о закрытии нескольких вкладок.
TRUE - показывать
FALSE - не показывать

browser.taskbar.previews.enable (Логическое) - Определяет: показывать ли вкладке в "супербаре" windows 7.
TRUE - показывать
FALSE - не показывать

browser.tabs.tabMaxWidth (Целое) - Максимальная ширина вкладок (в пикселях).

browser.tabs.tabMinWidth (Целое) - Минимальная граница ширины вкладок (в пикселях), после которой появляется кнопка прокрутки вкладок.

browser.tabs.tabClipWidth (Целое) - Ширина вкладки (в пикселях), начиная с которой пропадает крестик.

browser.tabs.closeButtons (Целое) - Наличие кнопки "закрыть" на вкладках. Значения:
0 - показывать кнопку закрытия только на активной вкладке
1 - показывать кнопки закрытия на всех вкладках
2 - вообще не показывать кнопки закрытия
3 - показывать единственную кнопку закрытия в конце панели вкладок (так было в Firefox 1.x)

browser.tabs.closeWindowWithLastTab (Логическое) - Определяет: закрывать ли браузер при закрытии последней вкладки. Значения:
TRUE – закрывать окно при закрытии последней вкладки.
FALSE - Окно закрываться не будет.


С taskkill видимо некорректное закрытие, поэтому браузер предлагает восстановить параметры последнего сеанса – всё что было открыто. Стандартная вещь.

Отредактировано Squatter (23-07-2019 00:52:57)

Отсутствует

 

№103723-07-2019 01:04:02

saurbeck
Участник
 
Группа: Members
Зарегистрирован: 27-05-2019
Сообщений: 40
UA: Chrome 75.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Спасибо за памятку по вкладкам! Полезная вещь!

Squatter пишет

С taskkill видимо некорректное закрытие, поэтому браузер предлагает восстановить параметры последнего сеанса – всё что было открыто. Стандартная вещь.

А из-за чего некорректное закрытие? У меня ведь так: js-скрипт отработал, запустил батник и остановился. При этом батник запустился, но браузер ещё 10 секунд просто отдыхает. И только после 10 секунд батник даёт команду taskkill которая закрывает браузер.  Однако каждый раз как только по новой запускаю браузер (хоть вручную, хоть скриптом) всегда этот запрос на восстановление вкладок.
Прям ерунда какая-то. На Икспишке (5 лет назад) такого не было. А на 10-ке есть. Хотя с операционкой это наверно вообще никак не связано. Но тем не менее, запрос на восстановление вкладки есть и не понятно почему и как от этого избавиться?

Отсутствует

 

№103823-07-2019 01:15:08

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 123
UA: Chrome 64.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

saurbeck чем вариант закрытия всех вкладок, а заодно и браузера, не устраивает?

Вы понимаете, что taskkill вы в лоб завершаете процесс, а не корректно закрываете браузер? Попробуйте вручную завершить процесс "firefox.exe" в диспетчере задач, и вы получите тот же результат.

Отредактировано Squatter (23-07-2019 01:25:24)

Отсутствует

 

№103923-07-2019 07:48:53

dim222
Участник
 
Группа: Members
Зарегистрирован: 06-03-2016
Сообщений: 423
UA: Firefox 68.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

saurbeck пишет

как от этого избавиться?

закрыть браузер

Выделить код

Код:

Components.utils.import("resource://gre/modules/Services.jsm");

    Services.startup.quit(Services.startup.eForceQuit);


перезапуск браузера

Выделить код

Код:

Components.utils.import("resource://gre/modules/Services.jsm");

    Services.startup.quit(Services.startup.eAttemptQuit | Services.startup.eRestart);


При перезапуске - батник не нужен, просто установи запуск своего кода на домашней странице.
user.js

Выделить код

Код:

user_pref("browser.startup.homepage", "imacros://run/?m=start.js");

Отредактировано dim222 (23-07-2019 07:52:09)

Отсутствует

 

№104023-07-2019 08:46:14

saurbeck
Участник
 
Группа: Members
Зарегистрирован: 27-05-2019
Сообщений: 40
UA: Chrome 75.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

dim222 пишет

При перезапуске - батник не нужен, просто установи запуск своего кода на домашней странице.

Вообще-то батник нужен. потому что кроме браузера там ещё и другую прогу перезапускать периодически надо. Да и сам браузер должен перезапускаться не сразу, а через определенное время (несколько минут после закрытия). Поэтому как тут без батника обойтись? Наверно никак

Отредактировано saurbeck (23-07-2019 08:47:33)

Отсутствует

 

№104123-07-2019 09:08:09

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 123
UA: Chrome 64.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

saurbeck, что мешает перезапускать другую программу батником, а браузер закрывать через таймаут одним из вышеописанных способов?

Отсутствует

 

№104223-07-2019 09:19:40

saurbeck
Участник
 
Группа: Members
Зарегистрирован: 27-05-2019
Сообщений: 40
UA: Chrome 75.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Squatter пишет

браузер закрывать через таймаут одним из вышеописанных способов?

пожалуй так и сделаю: сначала закрою все вкладки кроме активной, а потом применю простую команду TAB CLOSE (предварительно в настройках браузера установив галочку "закрывать браузер при закрытии последней вкладки") :)

Отредактировано saurbeck (23-07-2019 09:20:25)

Отсутствует

 

№104323-07-2019 09:37:01

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 123
UA: Chrome 64.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

saurbeck, касательно батника, нужно корректно отправить WM_CLOSE. Сигнализировать завершение в приложение. В батник

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

Выделить код

Код:

taskkill /im firefox.exe


Так должно корректно закрываться.

Отсутствует

 

№104423-07-2019 09:45:36

saurbeck
Участник
 
Группа: Members
Зарегистрирован: 27-05-2019
Сообщений: 40
UA: Chrome 75.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

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

Squatter пишет

saurbeck, касательно батника, нужно корректно отправить WM_CLOSE. Сигнализировать завершение в приложение. В батник

Выделить код

Код:

taskkill /im firefox.exe


Так должно корректно закрываться.

Вообще-то я так закрываю

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

Выделить код

Код:

taskkill /F /IM FirefoxPortable.exe


способом давно предложенным ПРЕЗИДЕНТОМ (способ этот есть и в ФАКе)
https://forum.mozilla-russia.org/viewto … 35#p695435
и
https://forum.mozilla-russia.org/viewto … 74#p695674

Отредактировано saurbeck (23-07-2019 09:49:05)

Отсутствует

 

№104523-07-2019 09:51:57

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 123
UA: Chrome 64.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Без F параметра

Отсутствует

 

№104623-07-2019 09:54:22

saurbeck
Участник
 
Группа: Members
Зарегистрирован: 27-05-2019
Сообщений: 40
UA: Chrome 75.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Squatter пишет

Без F параметра

Ааа, так вот в чём загвоздка была. Попробую без F. Кстати, а что это за F, для чего?

Добавлено 23-07-2019 09:58:30
уже нашёл:
/F - Принудительное завершение процесса.

Отредактировано saurbeck (23-07-2019 09:58:30)

Отсутствует

 

№104723-07-2019 12:47:31

PRESIDENT
Участник
 
Группа: Members
Зарегистрирован: 09-04-2015
Сообщений: 885
UA: Firefox 68.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Батником так корректнее будет

Выделить код

Код:

SET processName="Firefox.exe"
SET pathToFirefox=D:\FAERFOX
taskkill.exe /F /IM %processName%
timeout /T 2 /NOBREAK
erase /F /Q %pathToFirefox%\Data\profile\*.sqlite
erase /F /Q %pathToFirefox%\Data\profile\*.sqlite-shm
erase /F /Q %pathToFirefox%\Data\profile\*.sqlite-wal
erase /F /Q %pathToFirefox%\Data\profile\sessionstore.js
erase /F /Q /S %pathToFirefox%\Data\profile\cache2
erase /F /Q /S %pathToFirefox%\Data\profile\OfflineCache
erase /F /Q /S %pathToFirefox%\Data\profile\safebrowsig
erase /F /Q /S %pathToFirefox%\Data\profile\startupCache
erase /F /Q /S %pathToFirefox%\Data\profile\thumbnails
exit


Backend developer
PHP, JAVA, C#, Python
В личку только с серьёзными предложениями по заказу скриптов/программ.

Отсутствует

 

№104823-07-2019 13:44:09

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 123
UA: Chrome 64.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

PRESIDENT ИМХО, это уже избыточно.

Вполне достаточно

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

Выделить код

Код:

taskkill /im firefox.exe


и в настройках приватности about:preferences#privacy просто включить "Удалять историю при закрытии Firefox" предварительно указав что нужно чистить.
И опять же, зачем насильно, криво убивать процесс, чтобы потом принудительно чистить все "хвосты", когда без флага /F работа firefox корректно завершается, как при обычном нажатии на [x]?
В чём подвох? ;)

Отсутствует

 

№104925-07-2019 12:24:56

zoodov
Участник
 
Группа: Members
Зарегистрирован: 03-06-2014
Сообщений: 7
UA: Chrome 75.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Добрый день.

Помогите с каким-нибудь актуальным туториалом.

Хочу выполнить js скрипт.
Нашёл такой способ, но он, кажется, давно устарел :(

test.js:

Выделить код

Код:

alert(1);


test.iim

Выделить код

Код:

URL GOTO=imacros://run/?m=test.js


код публикуется в тегах code под спойлером

Ну и оно не работает.

Как на данный момент можно выполнить js с помощью imacros?

InfSub

Отредактировано zoodov (25-07-2019 12:28:34)

Отсутствует

 

№105025-07-2019 12:31:12

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3319
UA: unknown 0.0
Веб-сайт

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

zoodov
использовать версию imacros 8.9.7

Добавлено 25-07-2019 13:00:19

Squatter пишет

PRESIDENT ИМХО, это уже избыточно.

иногда бывает, что ff закрытый по [х] или через taskkill без force продолжает висеть в процессах, так что способ предложенный PRESIDENT имеет право на жизнь

Отредактировано InfSub (25-07-2019 13:00:19)


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox


на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

№105101-08-2019 14:56:52

flyte
Участник
 
Группа: Members
Зарегистрирован: 04-09-2015
Сообщений: 7
UA: Chrome 75.0

Re: iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Всем доброго времени суток. Помогите решить проблему. У меня стоит ff 56 и imacros 8.9.7, все работает как часы, но при включении многопроцессности у меня перестают работать макросы, добавленные в панель закладок. Ссылка в закладке как положено "imacros://run/?m=Current.iim", но при многопроцессности не работает. Есть идеи как бороться с этим?

Отсутствует

 
  • Форумы
  •  » iMacros
  •  » iMacros for Firefox - общие вопросы, обсуждение возможностей (часть 2)

Board footer

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