@huerman

Как найти и выбрать элемент внутри кода страницы через JavaScript?

Ситуация следующая: поставил расширение в браузер, расширение создаёт документ во фрейме (картинки приложил ниже), через команду document.querySelector могу обратиться к фрейму, но дальше дело не идёт. Мне нужно обратиться непосредственно к этому документу или любому элементу внутри него и выполнить javascipt в нём для результата, во фрейме пробовал вводить - не катит. help

P.S. Да, прикол в том, что если через инструменты разработчика тыркнуть по самому #document или любому элементу внутри него и ввести команду в консоль, то она срабатывает, по другому нет

61f1ed258669b715336905.png

Дополнение: нашёл в консоли способ выбора, если выбрать то, что выбрано на скрине, то скрипт тоже выполняется. Вопрос - как изменить консоль стандартную (top) на эту(cvf-arkose-frame) через javascript код в самой консоле допустим (без использования мыши и кликов, как сделал я)

61f1f8521b897607568173.png
  • Вопрос задан
  • 236 просмотров
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
В манифесте расширения в параметрах контент-скрипта укажите "all_frames": true (пример ниже)
{
	
	"name" : "Имя расширения",
	
	"manifest_version" : 2,
	 
	// ...
	
	"content_scripts" : [
	
		{	
			"matches" : [ "https://*.mysite.ru/*" ],
			"run_at": "document_start",
			"js" : [ "content.js" ],
			"all_frames": true
		}
		
	]

}

Это даст понять браузеру, что контент-скрипт надо запускать в том числе внутри фреймов. Далее, уже в самом контент-скрипте выполняете проверку во фрейме ли вы находитесь и предпринимаете необходимые действия:
if (window.top != window) {
	
	console.log('Это фрейм!');
	
}

else {
	
	console.log('Это не фрейм!');
	
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 нояб. 2024, в 22:03
3000 руб./за проект
23 нояб. 2024, в 21:53
30000 руб./за проект
23 нояб. 2024, в 21:49
1000 руб./в час