 
			
				17.10.2016, 08:26
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2016 
					
					
					
						Сообщений: 163
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Блин, я думаю, чего у меня null всё время показывает querySelector(с любым тегом). 
Проверил:
 
alert(document.documentElement.innerHTML)
 
Оказывается document берёт не из той страницы, которая открылась, а из страницы, на которой подключен скрипт(я её не подключал, видимо хром сам).
 
<head></head><body><script src="background.js"></script></body>
  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.10.2016, 09:09
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2016 
					
					
					
						Сообщений: 1,332
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Артист, html - это текст, но ковырять его самому не надо. Ты же не станешь ковырять файл екзеля ради редактирования таблицы. Ты напишешь скрипт работающий с документом как с объектом. Для браузера хтмл - такой же документ и браузер делает из него объект. Поскольку документ описан в иерархических сущностях хтмл, то и объект представляет из себя дерево. Вот и лазай по нему, или лазий. 
 
Почитай документацию уже. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.10.2016, 13:12
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2016 
					
					
					
						Сообщений: 163
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Да я полазил бы - не лазиется... 
Я в фоновом скрипте отлавливаю когда в браузере страница открылась и все элементы прогружены. 
А  document не видит эту страницу, видит только страницу с которой подключен скрипт...
 
Смотрел исходники  ABP Block'a, он же как - то убирает со страницы элементы. 
И ничего не нашел. 
Вернее нашел, но не работает. 
Пробовал так:
 
alert(window.document.documentElement.innerHTML)
alert(this.window.document.documentElement.innerHTML)
 
Ещё находил там(в исходниках), event. tabId , смотрел там номер возвращает, может от него надо получать...  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.10.2016, 13:16
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2016 
					
					
					
						Сообщений: 163
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от warren buffet
			 
		
	 | 
 
	| 
		Почитай документацию уже.
	 | 
 
	
 
 Читал, сто раз уже, гуглил... Ничего не понятно(даже с переводом).
 Вот тут про webNavigation
И там вообще ничего нет, как получить что - то со страницы...  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.10.2016, 18:34
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2016 
					
					
					
						Сообщений: 1,332
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Артист, ты юзерский скрипт что ли пишешь, или какой-то поддон? 
 
Поставь на FF - Greasemonkey и отстань от этого тупого хрома навсегда. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.10.2016, 18:37
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2016 
					
					
					
						Сообщений: 1,332
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Артист
			
		
	 | 
 
	| 
		Вот тут про webNavigation
	 | 
 
	
 
 Это параллельная вселенная, ты уверен, что взял правильный курс? Опиши задачу на русском языке, может и делать ничего не надо, все может быть уже сделано.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.10.2016, 20:49
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2016 
					
					
					
						Сообщений: 163
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Ну, есть игра одна браузерная, мне надоело что невозможно что - то продать в игре, т.к. 7к игроков онлайна. 
Ну я накатал приложение которое всё автоматом продаёт, и теперь хочу сделать чтобы не по кнопке щелкать для этого дела, а просто поставил галочку, и пускай он ходит по карте да торгует. 
Думал прямо на странице сделать 2 кнопки(или чекбоксы)...
 
Ну и вот нужно отловить, когда перс пришёл...
 
	
 
	
		
			Сообщение от warren buffet
			 
		
	 | 
 
	| 
		Поставь на FF - Greasemonkey и отстань от этого тупого хрома навсегда.
	 | 
 
	
 
 Да это всё переделывать нужно...Тем более я чисто хромом пользуюсь, проще к нему делать напрямую...  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось Артист, 17.10.2016 в 20:58.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.10.2016, 21:17
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.09.2016 
					
					
					
						Сообщений: 163
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Вот тут описывается как это сделать, а я не понимаю, т.к. вообще не знаю JS. 
Внедрение Javascript-кода в страницу через Chrome Extension
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	
		background.js 
 
$.get(chrome.extension.getURL('/injected.js'), 
	function(data) {
		var script = document.createElement("script");
		script.setAttribute("type", "text/javascript");
		script.innerHTML = data;
		document.getElementsByTagName("head")[0].appendChild(script);
		document.getElementsByTagName("body")[0].setAttribute("onLoad", "injected_main();");
	}
);
- Мы используем стандартную функцию Chrome Extension API chrome.extension.getURL(), которая возвращает путь, локальный для расширения.
 
- Далее мы запрашиваем данный файл через ajax и после успешного получения создаем новый элемент в основной странице (Благодаря Shared DOM мы можем манипулировать элементами страницы без лишних усилий)
 
- Последним пунктом мы устанавливаем функцию, которая будет вызвана после загрузки страницы (функция injected_main() описана в файле injected.js)
 
 
	 | 
 
	
 
 1 - вообще не понял, что возвращает и от куда?  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.10.2016, 21:28
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2016 
					
					
					
						Сообщений: 1,332
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Ну так парсить не надо ничего. И вообще ты не ту рубрику полез, поэтому тебя и не понимают. Есть раздел для юзерских скриптов - который под браузер. Тебе нужен спец по такой писанине для хрома. 
 
В упомянутом GM юзерский скрипт ничем от обычного не отличается. Почему в хроме какие-то дебильные заморочки, я не понял. В общем если дело ограничивается работой с документом, то в ГМ пишут вот так 
 
var elem=document.querySelector('.foo'); 
 
и все работает, в точности как если бы оно было в скрипте загруженным со страницей. 
 
А вот когда тебе захочется забраться в кишки этих самых скриптов, там есть небольшой геморрой с интерфейсом UnsafeWindow, но через него почти все можно получить по части кодов страницы - переменные, функции, писать, запускать и все такое. 
 
И только в редких случаях, когда не получается добраться нормально, тогда приходится что-то парсить. Но такое ну очень редко бывает. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.10.2016, 21:31
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2016 
					
					
					
						Сообщений: 1,332
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Артист
			
		
	 | 
 
	| 
		1 - вообще не понял, что возвращает и от куда?
	 | 
 
	
 
 Нехилая там эпидерсия. 
 
Какой нахер аякс? Скрипт для браузера хранится локально. Ты куда полез вообще?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |