Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Диалог между HTML и внешним JS в контексте расширения GoogleChrome (https://javascript.ru/forum/events/68611-dialog-mezhdu-html-i-vneshnim-js-v-kontekste-rasshireniya-googlechrome.html)

ev1lart 26.04.2017 19:25

Диалог между HTML и внешним JS в контексте расширения GoogleChrome
 
Всем хорошего настроения.

Стараюсь написать самое просто расширение для браузера. Пророчество гласит, что мой JS файл должен проверять условие "нажатие кнопки" в HTML документе расширения, (речь идёт о HTML страничке которая появляется при клике на икноку расширения), и только в случае true-результата выполнять код описанный в JS.

С условием и всем остальным проблем нет, проблема в получении какой либо информации от HTML странички, для моего JS.

Файл манифеста:

{
    "manifest_version": 2,

    "name": "Click",
    "description": "ClickOk",
    "version": "1.0",

    "content_scripts": [
    {
        "matches": ["*://my_site_name.ru"],
        "js": ["My_JS.js"],
        "css": ["my_css.css"]
    }
 ],
    "browser_action": {
        "default_title": "Click",
        "default_icon": "znak.jpg",
        "default_popup": "popup.html"
    }
}


Файлы HTML, СSS - пустые пока не до этого.

Файл JS:

console.log('Hi');


Всё работает.

Проблемы возникать начинают тогда, когда я стараюсь проверить внутри JS файла условие нажатие кнопки в HTML, или хотя бы банально запустить в HTML простую функцию, описанную в JS.

Вот так не работает: простая функция описанная в JS

function for_test() {
    alert('Hi');
}


Вызываю её в HTML: (JS файл к странице подключён)

<script>
    for_test();
</script>


Вопрос в следующем. Почему если я локально запускаю HTML - всё прекрасно работает и я вижу свой Alert, но расширение так же работать отказывается.

На что ругается консоль?

1. делаю GET запросы к popup.html , ругается что на моём сайте нет такой страницы.
2. Пробовал так же прямо искать getElementBy... по документу - ищет сволочь по документу внутренней странички сайта.

И вся идея то вроде простая. Хочу выполнять свой JS исключительно тогда, когда нажму кнопку в HTML, подскажите пожалуйста, как этого добиться?


Часовой пояс GMT +3, время: 21:44.