Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   Chrome передача данных js скрипта на сайте в подключаемый js скрипт расширения (https://javascript.ru/forum/css-html-browser/82372-chrome-peredacha-dannykh-js-skripta-na-sajjte-v-podklyuchaemyjj-js-skript-rasshireniya.html)

vladik3333 26.04.2021 02:06

Chrome передача данных js скрипта на сайте в подключаемый js скрипт расширения
 
Здравствуйте, столкнулся с проблемой при написании расширения в Google Chrome, не могу взять данные скриптов подключенных на сайте. Прошу помощи:help:

Пример сайта:
<input value="Нажми меня" onclick="kony()" type="button">
<script type="text/javascript" src="aloha.js"></script>

aloha.js
function kony(){
var aa = 1+2;
alert(aa);
}


Само расширение:
manifest.json
{
    "manifest_version": 2,
    "name": "SSS",  
    "description": "WWW",  
    "version": "1.0",    
    "permissions": ["tabs", "<all_urls>"],  
    "browser_action": { 
		"default_icon": {
			"19": "images/icons/19.png",
		},
        "default_popup": "popup.html"  
    },
	
	"icons": {
		"16": "images/icons/16.png",
	}
}

popup.html
<html>
    <head>
    <body>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <button id="clickactivity1">Кнопка</button>  
    <script type="text/javascript" src="jquery-3.5.1.min.js"></script>
    <script type="text/javascript" src="content.js"></script>
    </head>
    </body>
</html>

content.js
function inject1() {
        chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
          chrome.tabs.executeScript(tabs[0].id, {file: "raschet.js"});
        });
}

document.getElementById('clickactivity1').addEventListener('click', inject1);

raschet.js
kony();


Расширение подключает скрипт на страницу который должен выполнить нажатиe на кнопку через функцию внутри js файла сайта. Но пишет kony is not defined:-? . Расширение будет работать если в raschet.js просто написать document.querySelectorAll("input[type='button']")[0].click(); клик будет. То есть получается при добавлении скрипта, расширение не видит что написано внутри js скрипта сайта. Мне нужно не конкретное нажатие на кнопку, а понять как можно заставить расширение видеть все скрипты подключенные на сайте с их содержимым и взаимодействие между ними.:write: Ну или может заставить работать внутри консоли страницы сайта, потому что в ней все работает.


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