Форум программистов, компьютерный форум, киберфорум
JavaScript: API
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
1709 / 578 / 74
Регистрация: 10.04.2009
Сообщений: 9,291

Расширение для Яндекс браузера

06.01.2025, 08:35. Показов 7092. Ответов 107
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
здравствуйте не уверен, что в ту ветку пишу, посему уважаемы модераторы можете перезалить топик в нужную ветку
Предположим в буфере обмена находится текст:
«тема письма*I:\ТЗ.txt*8111@mail.ru, 8222@mail.ru»
То есть в буфере находятся тема письма, путь к файлу, который нужно приложить к письму и емейл адрес или адреса разделённые запятой, куда нужно отправить письмо или письма.
Задача: пользователь заходит в Яндекс браузер в свой почтовый ящик, нажимает кнопку «Написать» и всё то, что имеется в буфере обмена нужно, чтобы автоматически сделалось – заполнились поля: Кому, Тема и приложился указанный файл, чтобы осталось пользователю только нажать кнопку «Отправить», как это сделать?
То есть я захожу в свою почту, нажимаю кнопку «Написать» - это событие, ПО должно проверить есть ли в буфере обмена строка удовлетворяющая требованиям, в данном случае наличие двух знаков "*", если есть, тогда действовать согласно требуемого сценария
видимо нужно написать расширение для браузера, чтобы поддерживало Яндекс браузер или уже есть готовые? Попытался использовать Violentmonkey, установил, создал скрипт

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
// ==User Script==
 
// @name         Auto Fill Yandex Mail
 
// @namespace    http://tampermonkey.net/
 
// @version      0.1
 
// @description  Автоматически заполняет поля в Яндекс Почте из буфера обмена
 
// @author       Ваше имя
 
// @match        https://mail.yandex.ru/*
 
// @grant        clipboardRead
 
// ==/User Script==
 
 
(function() {
 
    'use strict';
 
 
    // Добавляем слушатель события на кнопку "Написать"
 
    document.addEventListener('click', async function(event) {
 
        if (event.target.classList.contains('mail-ComposeButton')) {
 
            try {
 
                // Получаем текст из буфера обмена
 
                const text = await navigator.clipboard.readText();
 
 
 
                // Проверяем наличие двух знаков "*"
 
                if (text.split('*').length - 1 === 2) {
 
                    const parts = text.split('*');
 
                    const emailSubject = parts[0]; // Тема письма
 
                    const filePath = parts[1]; // Путь к файлу (не используется в этом примере)
 
                    const emailAddresses = parts[2]; // Емейлы
 
 
                    // Заполняем поля "Кому" и "Тема"
 
                    document.querySelector('input[name="to"]').value = emailAddresses;
 
                    document.querySelector('input[name="subject"]').value = emailSubject;
 
 
                    // Здесь можно добавить логику для прикрепления файла, если это необходимо
 
                    console.log("Поля заполнены!");
 
                } else {
 
                    console.log("Содержимое буфера обмена не удовлетворяет требованиям.");
 
                }
 
            } catch (err) {
 
                console.error("Ошибка при доступе к буферу обмена: ", err);
 
            }
 
        }
 
    });
 
})();
но получил сообщение от расширения "Неверный скрипт! Безымянный" и чтобы Не гадать, лучше спросить, спасибо
и почему он Безымянный, когда сказано: @name Auto Fill Yandex Mail
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.01.2025, 08:35
Ответы с готовыми решениями:

Возможно ли на javascript создать расширение для браузера, которое бы авторизовывалось в vk?
Возможно ли на javascript создать расширение для браузера (chrome,firefox,opera), которое бы авторизовывалось в vk?

"Управляемое" расширение для браузера
Хочу написать "управляемое"(внешней программой) расширение. Под "управлением" понимаю некий "костыль", т.к. нормальная...

Расширение для браузера
Я хочу сделать расширение для браузера по подобию похожего расширения, есть некий сервис похожий на мой и там есть полезное расширение,...

107
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
13.01.2025, 23:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
джипити советует
Ну по идее да, но я в режиме разраба загружал, так что у меня не ругалось.
1
1709 / 578 / 74
Регистрация: 10.04.2009
Сообщений: 9,291
13.01.2025, 23:55  [ТС]
Цитата Сообщение от diadiavova Посмотреть сообщение
Ну по идее да, но я в режиме разраба загружал, так что у меня не ругалось.
ну я так НЕ умею)) да и зачем это, джипити тоже говорит
Предупреждение «Нераспознанный ключ манифеста 'browser_specific_settings'» обычно появляется, потому что этот ключ специфичен для Firefox и не распознается другими браузерами, такими как Chrome или Yandex. Обычно это предупреждение можно игнорировать, так как оно не влияет на функциональность вашего расширения.
но ведь оно Не работает
0
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
14.01.2025, 00:01
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
ну я так НЕ умею))
Вводишь в адресной строке
browser://extensions/
В верхнем правом углу включаешь режим разработчика. Нажимаешь кнопку "Загрузить распакованное расширение", далее в диалоге выбора папки выбираешь папку с твоим расширением.

Добавлено через 1 минуту
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
но ведь оно Не работает
Я про яндекс не знаю, но про файрфокс я написал уже, что там в обычный файрфокс что попало тоже не установишь. Возможно в яндексе тоже есть свои нюансы.
1
1709 / 578 / 74
Регистрация: 10.04.2009
Сообщений: 9,291
14.01.2025, 00:01  [ТС]
Цитата Сообщение от diadiavova Посмотреть сообщение
Вводишь в адресной строке
browser://extensions/
В верхнем правом углу включаешь режим разработчика. Нажимаешь кнопку "Загрузить распакованное расширение", далее в диалоге выбора папки выбираешь папку с твоим расширением.
а это, ну так я так и делаю и потом видно приложение:
EDDS ZGO
1.0
ЕДДС ЗГО
Идентификатор: dkafankiiklpdlamhmdfnjfhncmiigig
и ниже кнопки
Сведения Удалить Ошибки
0
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
14.01.2025, 00:04
Кстати ошибку с нераспознанным ключом тоже выдает, но работает.

Добавлено через 1 минуту
А что именно у тебя не работает? Вообще ничего не происходит? Заходишь в почту, когда жамкнешь кнопку появляется форма и через две секунды вводятся данные.
1
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
14.01.2025, 12:56
Ципихович Эндрю, вполне возможно, что в твоем случае тех таймаутов, которые я установил оказывается недостаточно (других вариантов просто в голову не приходит). Я сделал самый простой пример с MutationObserver. По идее должен работать. Проверял только в файрфоксе, но, думаю, это не критично.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
let emailAddresses = "8111@mail.ru, 8222@mail.ru";
let emailSubject = "Новая тема этого письма";
 
function newMailFormAppear (mutationList, observer)
{
  let fields = document.querySelectorAll("#compose-field-1, input[name='subject']");
  if (fields.length == 2)
  {
    fields[0].textContent = emailAddresses;
    fields[1].value = emailSubject
    observer.disconnect();
  }
}
 
let newMailObserver = new MutationObserver(newMailFormAppear);
function newMailButtonClick ()
{
    newMailObserver.observe(document.body, { subtree: true, childList: true });
}
 
function buttonReady (mutationList, observer)
{
  let newMailButton = document.querySelector("a[href='#compose']");
  if (newMailButton)
  {
    newMailButton.addEventListener("click", newMailButtonClick);
    observer.disconnect();
  }
}
 
let buttonReadyObserver = new MutationObserver(buttonReady);
buttonReadyObserver.observe(document.body, { childList: true, subtree: true });
Добавлено через 15 минут
Нашел еще одну неприятность. В поле "Кому" id постоянно меняется. Возможно дело в этом. Код выше у меня сработал только в первый раз. При последующих нажатиях кнопки id был другим. Возможно более надежно искать по атрибуту title. Вот так работает нормально
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
let emailAddresses = "8111@mail.ru, 8222@mail.ru";
let emailSubject = "Новая тема этого письма";
 
function newMailFormAppear (mutationList, observer)
{
  let fields = document.querySelectorAll("[title='Кому'], input[name='subject']");
  console.log(fields);
  
  if (fields.length == 2)
  {
    fields[0].textContent = emailAddresses;
    fields[1].value = emailSubject
    observer.disconnect();
  }
}
 
let newMailObserver = new MutationObserver(newMailFormAppear);
function newMailButtonClick ()
{
  console.log("click");
  
    newMailObserver.observe(document.body, { subtree: true, childList: true });
}
 
function buttonReady (mutationList, observer)
{
  let newMailButton = document.querySelector("a[href='#compose']");
  if (newMailButton)
  {
    newMailButton.addEventListener("click", newMailButtonClick);
    observer.disconnect();
  }
}
 
let buttonReadyObserver = new MutationObserver(buttonReady);
buttonReadyObserver.observe(document.body, { childList: true, subtree: true });
1
1709 / 578 / 74
Регистрация: 10.04.2009
Сообщений: 9,291
15.01.2025, 10:45  [ТС]
diadiavova,
на всякий.....
моя ОС - ВИН 10
мои данные у браузеров, ЯБ:
Версия
24.12.3.781 (64-bit)
Лиса:
134.0.1 (64 разрядный)
ясно понятно, что надо в манифесте устанавливать поменьше версию браузера - может кому другому пригодиться))
итак ЛИСА, манифест:
Code
1
2
3
4
5
6
7
8
9
{
    "manifest_version": 3,
    "name": "EDDS ZGO",
    "version": "1.0",
    "description": "ЕДДС ЗГО",
    "permissions": ["activeTab"],
    "content_scripts": [{"matches": ["https://mail.yandex.ru/*"],"js": ["content.js"]}],
    "browser_specific_settings": {"yandex": {"id": "mailformdatainsertion@yandex.ru", "strict_min_version": "131.0"}}
}
файл content.js самый последний код, код № 2 сообщения 66
работает, спасибо!!!
если добавить третьей строкой строку let attachment = ["I:\\ТЗ.txt", "I:\\ТЗ111.txt"]; как сделать чтобы эти файлы прикладывались?
джипити сказало:
В браузере Firefox (и в большинстве других браузеров) нельзя напрямую добавлять файлы к письму через JavaScript, так как это связано с ограничениями безопасности. Однако, вы можете использовать элемент <input type="file">, чтобы позволить пользователю выбрать файлы для прикрепления.
так?
если да, вау приехали........на 7-м десятке постов в топике.....
если нет, тогда как?
ну и потом в Яндекс браузере нужно пробовать
0
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
15.01.2025, 11:16
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
ясно понятно, что надо в манифесте устанавливать поменьше версию браузера - может кому другому пригодиться))
Ну, если указываешь яндекс, то, вероятно, нужно именно версию этого браузера указывать, а не лисы. Хотя яндекс, насколько я понял, этот ключ вообще игнорирует.
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
В браузере Firefox (и в большинстве других браузеров) нельзя напрямую добавлять файлы к письму через JavaScript, так как это связано с ограничениями безопасности. Однако, вы можете использовать элемент <input type="file">, чтобы позволить пользователю выбрать файлы для прикрепления.
так?
если да, вау приехали........на 7-м десятке постов в топике.....
Ну насчет седьмого десятка постов я бы поспорил. Я раньше об этом упоминал, в том числе и про инпут, но ты на это внимание не обратил.
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
если нет, тогда как?
Об этом я тоже вскользь упоминал. Полноценного рабочего решения у меня нет. Вероятно это возможно сделать с помощью диких костылей. Ну вот примерно что можно попробовать, почему примерно - потому что не факт что тут что-то получится.
Фактически, что происходит при отправке письма браузером? Браузер отправляет не письмо на почтовый сервер, а использует какие-то веб API и туда он отправляет форму с каким-то набором данных. Просмотреть, что именно он туда отправляет - не проблема. Проблема в том, что там помимо актуальных данных есть куча каких-то идентификаторов, кодов и прочей непонятной дребедени. То есть, для того, чтобы выполнить подобный запрос самостоятельно потребуется детально изучить, что откуда берется, а это задача ой какая непростая и не факт, что вообще получится. Можно попробовать другой вариант, например отправлять письмо как обычно, но без вложений, а уже в процессе перехватывать этот запрос добавлять вложения. Но тут опять таки надо изучать, что именно помимо самих вложений должно добавляться в запрос, там тоже может оказаться много всего (не проверял). Ну допустим запрос с вложениями отличается от запроса без вложений, только этими вложениями и что тогда? Тогда нам еще потребуется найти способ загрузить данные этих файлов. Такое можно осуществить, например, если расширение будет иметь сопутствующее приложение. Сейчас такая возможность есть, по крайней мере в файрфоксе. То есть пишется какое-то консольное приложение, с которым расширение может взаимодействовать через стандартный ввод-вывод и тогда расширение сможет передать адреса вложений расширению, получить двоичные данные и уже их прикрепить. Как ты понимаешь, для того только, чтобы разобраться во всем этом потребуется много времени и сил и не факт, что удастся добиться успеха. Так что тут лучшим вариантом будет вложения добавлять вручную.
Возможно стоит разобраться в API яндекса, не исключено, что они предоставляют вполне легальный вариант для отправки писем через свои API, если так, то можно вообще отказаться от веб-формы.
1
1709 / 578 / 74
Регистрация: 10.04.2009
Сообщений: 9,291
15.01.2025, 11:17  [ТС]
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
ну и потом в Яндекс браузере нужно пробовать
не поддаётся, манифест ЯБ
Code
1
2
3
4
5
6
7
8
9
{
    "manifest_version": 3,
    "name": "EDDS ZGO",
    "version": "1.0",
    "description": "ЕДДС ЗГО",
    "permissions": ["activeTab"],
    "content_scripts": [{"matches": ["https://mail.yandex.ru/*"],"js": ["content.js"]}],
    "browser_specific_settings": {"yandex": {"id": "mailformdatainsertion@yandex.ru", "strict_min_version": "21.0"}}
}
ругается на последней строке, написал в поддержку ЯБ, посмотрим, что ответят, обычно их ответы: к сожалению.....
день рождения только раз в году))
0
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
15.01.2025, 11:24
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
не поддаётся, манифест ЯБ
Тут вообще, и я уже тоже писал об этом, насчет яндекс-браузера неплохо было бы разобраться, позволяет ли он в принципе устанавливать расширения, не проверенные их службами. Обычно браузеры позволяют установку расширений либо только из своих маркетов, либо даже если и можно установить из файла, то опять-таки только проверенные расширения. В файрфоксе можно установить из файла, но если это левое расширение, то придется ставить не обычный файрфокс, а какой-нибудь, позволяющий менять значение флажка в конфигурации, который снимает требование проверки расширения (например ESR). Благо файрфокс позволяет ставить несколько версий браузера под различные профили, но вот можно что-то подобное делать в яндекс-браузере - я вообще не в курсе.
А по поводу ключа, ну я так понял что этот браузер не поддерживает этот ключ, он ему тупо незнаком.
1
1709 / 578 / 74
Регистрация: 10.04.2009
Сообщений: 9,291
15.01.2025, 11:55  [ТС]
diadiavova, подскажите можно ли с помощью расширения Яндекс браузера узнать все элементы на веб страницы?
именно веб-страницы, а не расширения по иерархии, это я про то, что если мне двинуться далее то речь будет идти про страницу у которой у вас не будет доступа, она в инете, но для захода на неё нужен логин и пароль, который даже я не знаю, он введён в Яндекс браузере и сохранён, там будет кнопка Редактировать, она вроде на фрейме, поэтом нужны все элементы по иерархии
0
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
15.01.2025, 14:35
Ципихович Эндрю, в общем и целом тут ситуация такая:
В расширении есть два типа скриптов с разными привилегиями: контент-скрипты и бэкграунд-скрипты. Контент-скрипты прикрепляются к веб-странице и имеют доступ ко всему дереву документа, но при этом у них нет доступа к расширенному функционалу расширений. Там из API расширений доступны некоторые но их совсем немного. Бэкграунд-скрипты напротив - имеют полный доступ к API расширений, но они не привязаны ни к каким страницам открытым в браузере и фактически прямого доступа к ним не имеют. Есть еще скрипты, привязанные к страницам расширения. Они по сути дела являются бэкграунд-скриптами и хотя у них есть доступ к DOM, но это документы этих самых страниц, к которым они прикреплены. В качестве примера можно вспомнить как ты пытался что-то достать из страницы, но делал это из окошка popup и, соответственно, ничего не мог найти.
Скрипты могут взаимодействовать между собой при помощи сообщений. Также иногда можно передавать данные через хранилища. То есть если тебе нужно из скрипта расширения выполнить какую-то работу на вкладке браузера, то тут можно сделать это либо отправив сообщение прикрепленному к странице контент-скрипту, либо еще есть возможность выполнить какой-то код в контексте страницы. Для этого нужно найти идентификатор вкладки и уже, используя его, можно сделать как то так и другое.
С фреймами все немного сложнее. Если фрейм загружен из того же домена, что и основная страница, то получить доступ к его объектной модели можно, а вот если это фрейм из другого домена, то браузер обычно блокирует доступ к документу, и насчет возможности получить соответствующий доступ из расширения я, честно говоря, не в курсе. Возможно нужно прописать какие-то разрешения в манифесте, но я тут ничего подсказать не смогу.
По поводу логина и пароля ситуация следующая:
При авторизации на сайте браузер получает куки с ключами доступа и они сохраняются. При отправке запроса на сервер с определенной страницы к запросу прикрепляются куки этой страницы, то есть если ты авторизован, то проблем быть не должно. Если запрос отправляется из бэкграунд-скрипта, то, по всей видимости, придется указать явно какие куки надо отправлять. Там, насколько я знаю, есть API для работы с куками, так что это тоже решаемо, главное - чтобы был выполнен вход.

Добавлено через 2 минуты
cookies - Mozilla | MDN

Добавлено через 5 минут
Ципихович Эндрю, еще несколько слов по поводу архитектуры расширений. Данная модель расширений изначально появилась в гуглохроме и впоследствии распространилась на все основные браузеры. Расширения для основных браузеров пишутся именно так. Но у каждого браузера есть свои нюансы. И касаются они не только поддержки отдельных фич, но и есть еще ряд мелких нюансов. Поэтому то что я пишу для лисы, более или менее актуально и для других браузеров, но необязательно будет работать в точности так же. Это что касается твоих вопросов конкретно о яндекс-браузере, о котором я мало что знаю, но в основном инфа актуальна и для него.
2
1709 / 578 / 74
Регистрация: 10.04.2009
Сообщений: 9,291
17.01.2025, 10:05  [ТС]
я написал тестовое расширение для Яндекс браузера и загружал его в "Режиме разработчика" - browser://extensions/ и при этом нажимал кнопку "Загрузить распакованное расширение" это расширение работало без сбоев, сейчас попробовал упаковать его, нажал на кнопку "Упаковать расширение" на этой же веб-странице, выбрал нужную мне папку "Файл секретного ключа (необязательно)" не указывал, так как ещё не понял, что это такое и там указано "необязательно" и получил сообщение "Ошибка в упакованном расширении Файл манифеста отсутствует или недоступен для чтения" что я делаю НЕ так?
0
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
17.01.2025, 11:05
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
что я делаю НЕ так?
Чтобы на это ответить, надо знать, что ты делаешь. Видимо в манифесте есть какие-то проблемы. Я сейчас накидаю ссылок.
Вот что пишут на сайте яндекс бразуезра
Расширения | Браузер
Здесь указывается, что расширения устанавливаются из магазинов гугла и оперы, стало быть курить надо документацию именно оттуда. Главная страница документации по расширениям хрома
Расширения / Начало работы  |  Get started  |  Chrome for Developers
Документация по манифесту (раз проблемы в нем)
Формат файла манифеста  |  Manifest  |  Chrome for Developers
Если судить по той версии манифеста, что ты привел в этом посте и сравнить с минимумом описанным в документации, то, полагаю там не хватает ключа icons
1
1709 / 578 / 74
Регистрация: 10.04.2009
Сообщений: 9,291
17.01.2025, 11:41  [ТС]
Цитата Сообщение от diadiavova Посмотреть сообщение
надо знать, что ты делаешь
спору нет....
я указывал путь к месту где бы я хотел, чтобы хранилось уже упакованное расширение
оказывается надо было указать то место где хранится расширение, которое я упаковываю, т.е. то, что итак известно браузеру, бред))
значит путём проб я указал то место где хранится расширение, которое я упаковываю и получил сообщение:
Упаковать расширение
Созданы следующие файлы:
Расширение: F:\0000.crx
Файл ключей: F:\0000.pem
Храните файл ключей в надежном месте. Он потребуется для создания новых версий расширения.
и что можно с этими файлами:
Расширение: F:\0000.crx
Файл ключей: F:\0000.pem
делать, как их применять, зачем они нужны?
я то хотел, чтобы браузер забрал файлы расширения себе в ресурсы и те файлы, что создал я браузеру более были не нужны

Добавлено через 3 минуты
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
Упаковать расширение
Созданы следующие файлы:
Расширение: F:\0000.crx
Файл ключей: F:\0000.pem
то есть написать то написало но, проверил НЕ создало - приехали))
0
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
17.01.2025, 11:54
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
оказывается надо было указать то место где хранится расширение, которое я упаковываю, т.е. то, что итак известно браузеру, бред))
Скорей всего эта функция работает независимо от того, есть ли у тебя расширения, запущенные в режиме разработчика, так что браузеру неизвестно какое именно расширение ты хочешь упаковать. Что касается указания места где оно должно храниться(после установки, если речь об этом), то вряд ли такой выбор вообще предоставляется. Обычно у браузеров есть специально отведенные места. Где-нибудь в AppData и т. п.
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
и что можно с этими файлами:
Расширение: F:\0000.crx
Файл ключей: F:\0000.pem
делать, как их применять, зачем они нужны?
Насколько я понимаю, *.crx в хроме - это как раз и есть файл расширения (второй, видимо, это как раз ключ, который нужен для следующих версий). Что делать описано на страничке, которую я уже показывал
Как добавить новое расширение в Браузер?

Как добавить новое расширение в Браузер?


  1. Запакуйте расширение в архив crx3.
  2. Откройте в Браузере страницу browser://tune.
  3. Откройте папку с архивом и перетащите его в окно Браузера.

После установки расширение появится в разделе Из других источников
1
1709 / 578 / 74
Регистрация: 10.04.2009
Сообщений: 9,291
18.01.2025, 12:20  [ТС]
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
то есть написать то написало но, проверил НЕ создало - приехали))
ошибался я - НЕ там посмотрел, да создались эти два файла
Расширение: F:\0000.crx
Файл ключей: F:\0000.pem
Потом установил файл *.crx, проверил теперь расширение находится по следующему пути:
C:\Users\Ваше_имя_пользователя\AppData\L ocal\Yandex\YandexBrowser\User Data\Default\Extensions\gipfghcmdpemmlgm ekelokiaegcbneol - это идентификатор\1.0_0 - это версия расширения
обратите внимание, что папка AppData скрыта, и вам может понадобиться включить отображение скрытых файлов
уже что-то....
но я то рассчитывал, что в хтмл файле вместо
HTML5
1
<h1 id="fio_do">Фамилия Имя Отчество</h1>
будет, то что я реально вижу в расширении так как JS при первой загрузке загружает первого пользователя из константы const users JS файла, а после изменения будет отображаться последний выбранный из пяти юзеров, выбор делается радиокнопками, то есть знать бы в каком файле и что прочитать и VBA Ворда бы прочитал, так как они текстовые, чего я и добиваюсь, кто в курсе где и что прочитать? спасибо
0
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
18.01.2025, 13:49
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
обратите внимание, что папка AppData скрыта, и вам может понадобиться включить отображение скрытых файлов
уже что-то....
Еще в адресной строке проводника можно ввести %AppData% и энтер.
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
кто в курсе где и что прочитать?
Честно говоря, я нифига не понял. Объясни, что делаешь и какие проблемы.
0
1709 / 578 / 74
Регистрация: 10.04.2009
Сообщений: 9,291
18.01.2025, 14:00  [ТС]
Цитата Сообщение от diadiavova Посмотреть сообщение
Честно говоря, я нифига не понял. Объясни, что делаешь и какие проблемы
предположим юзер написал расширение для Яндекс браузера
оно должно работать от Ворда к расширению - ухитрились через буфер обмена, хотя лучше бы избавиться от такого подхода
оно также должно работать и обратно от расширения к Ворду - ХЗ как? сохранять в файл идеально, но по соображениям безопасности всё время браузер будет спрашивать у юзера - не есть ХОРОШО, а если бы реально хтмл файл менялся бы в popup.html или идексном html файле, на подобии этого:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Данные из localStorage</title>
</head>
<body>
    <h1>Данные из localStorage</h1>
    <div id="dataDisplay"></div>
 
    <script>
        // Получаем данные из localStorage
        const data = localStorage.getItem('selectedUser ');
        
        // Проверяем, есть ли данные
        if (data) {
            document.getElementById('dataDisplay').innerText = data; // Отображаем данные
        } else {
            document.getElementById('dataDisplay').innerText = 'Нет данных для отображения.';
        }
    </script>
</body>
</html>
ворд бы справился - прочитал
0
 Аватар для diadiavova
7258 / 2605 / 744
Регистрация: 11.04.2015
Сообщений: 4,148
Записей в блоге: 43
18.01.2025, 15:41
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
сохранять в файл идеально, но по соображениям безопасности всё время браузер будет спрашивать у юзера - не есть ХОРОШО
Ну это решаемо, я уже писал выше, что можно для расширения написать сопутствующее приложение, с которым можно будет взаимодействовать через стандартный ввод-вывод. Кроме того, если в системе запустить веб-сервер и на нем установить небольшую службу, то через него можно выполнять любую работу в системе, просто отправляя запросы из расширения. Если сервер еще и веб-сокеты поддерживает, то можно и двустороннюю связь установить. По большому счету можно расширение для ворда написать и встроить сервер прямо туда. Вопрос только в том, насколько оправданы такие усилия.

Добавлено через 9 минут
Кстати, если уж совсем просто надо что-то сделать, то можно из ворда сохранить вебстраничку с данными во временный каталог и открыть ее в браузере системными средствами, а в расширение добавить скрипт, который будет читать данные из такой странички и отправлять на обработку. Ну это уж если совсем просто надо.

Добавлено через 4 минуты
Ципихович Эндрю, Еще как-то я изучал возможность управления браузером из своего приложения через расширение, собственно результаты описал здесь
Управление браузером из внешнего приложения - Форум программистов и сисадминов Киберфорум
Не знаю, может полезно будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.01.2025, 15:41
Помогаю со студенческими работами здесь

Расширение для Браузера
Дарова народ, я тут решил попробовать создать расширения для Браузера(Опера GX, если так важно). Но ни как не получается реализовать...

Расширение для браузера
у меня есть расширение просто файлом js идёт оно для гугла хрома и мазилы но его может стырить любой желающий тут я стал переделывать под...

Расширение для браузера(Цензура)
Дарова народ, я тут клепаю расширение для браузера(Цензура), однако мне нужно использовать нейросеть(к сожалению это обязательная часть)...

Расширение-автоклик для браузера
Привет! Я в программировании на JavaScript новичек. Мне нужно сделать расширение для браузера, которое на определённом сайте при нажатии к...

Расширение для браузера, возможности
Посдкажите, возможно ли в принципе реализовать следующий функционал на JS в рамках расширения для браузера (например, для Хрома). От...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
80
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru