Запустить событие «onchange» на странице из расширения Google Chrome
Я разрабатываю расширение для автозаполнения формы с данными с другого сайта. У меня есть контекстное меню с разными опциями, каждая с разными данными, но заполняющая одну и ту же форму. Данные являются динамическими и зависят от другого сайта. С "chrome.tabs.executeScript» я могу вставить некоторые данные, но не могу запустить событие "по изменению" полей. Может изменить значение выбора, но на сайте есть событиепо изменению" что не срабатывает, когда я меняю значение, а не прохожуchrome.tabs.executeScript» запустить "по изменению", Ошибка, которую он показывает:Uncaught TypeError: Property 'по изменению' объекта # не является функцией #HTMLSelectElement "
РЕДАКТИРОВАТЬ:
manifest.json:
"content_scripts": [
{
"matches": ["url_where_the_code_must_run"],
"js": ["billing.class.js", "script.js"]
}
],
.
.
.
"permissions": [
"tabs",
"url_from_where_i_get_the_data",
"url_where_the_code_must_run"
],
script.js:
select = document.createElement('select');
var option = document.createElement('option');
option.value = "";
option.innerHTML = "Select Client";
select.appendChild(option);
select.onchange = function() {
var client = Billing.getClient(this.value);
if (client) {
document.getElementsByName("country")[0].value = client.country_id;
document.getElementsByName("country")[0].onchange();
}
}
for (var i = 0; i < Billing.clients.length; i++) {
option = document.createElement('option');
option.value = Billing.clients[i].id;
option.innerHTML = Billing.clients[i].name;
select.appendChild(option);
}
form.parentElement.insertBefore(select, form);
Когда эта строка будет выполнена, покажитеUncaught TypeError: Property 'по изменению' объекта # не является функцией #HTMLSelectElement ":
document.getElementsByName("country")[0].onchange();
Но если я запускаю эту строку прямо в консоли, обычно запускается без ошибок
document.getElementsByName (»страна") [0] является элементом URL и "Выбрать" это элемент, который я создаю в расширении, чтобы выбрать, какие данные клиента должны загружаться.
url_where_the_code_must_run:
function customFunction() {
// Do something that i dont care
}