background.js 
		
		
		
		Кто знает, почему когда я использую в background.js onUpdated алерт срабатывает по несколько раз. Минимум 4, а иногда и больше. 
	
chrome.tabs.onUpdated.addListener(function() {
	alert("123");
});
И второй вопрос. Почему из background.js я не могу дотянуться до вкладки? Например я использую text = document.querySelector('#text'), он он всегда пустой. Как используя расширение изменять что-то во вкладке? Заранее спасибо.  | 
	
		
 Цитата: 
	
  | 
	
		
 Цитата: 
	
 А какая у тебя задача? Если надо на неком сайте у себя в браузере что-то делать, то, может, tampermonkey проще взять? Или нужно именно расширение, с некой логикой в бэкграунде?  | 
	
		
 На моей странице html  
	
<!DOCTYPE html>
<html>
  <body>
    <div id="text">123</div>
 </body>
</html>
А в background.js у меня по идее написано, что когда страница загрузиться, добавить в text мой div и изменись содержимое по клику. 
chrome.tabs.onUpdated.addListener(function() {
	var text = document.querySelector('#text');
    text.onclick = function(){
        text.innerHTML = "133";
    };
});
Но расширение сразу выдает ошибку ![]() Т.е. оно врезается в то, что querySelector не достучался до html. И я не знаю как это исправить... Есть ли какие-то способы как из расширения влиять на содержимое страницы?  | 
	
		
 Если надо чтобы действие происходило 1 раз, можно воспользоваться стандартным костылём 
	
chrome.tabs.onUpdated.addListener( (function(first){
    return function() {
        if(first)alert("123");
        first = false;
    }
})(true) );
 | 
	
		
 SV0L0CH, 
	В моем случае это уже не костыль, а инвалидное кресло. :lol: Этот код срабатывает только при старте браузера на первой странице. На любой другой он уже не работает. А я хочу чтобы код срабатывал на каждой новый вкладке, но только 1 раз.  | 
	
		
 Всем спасибо! Я разобрался сам. Тему можно закрывать. 
	 | 
| Часовой пояс GMT +3, время: 15:13. |