Показать сообщение отдельно
  #5 (permalink)  
Старый 31.03.2018, 21:19
Новичок на форуме
Отправить личное сообщение для kslabs Посмотреть профиль Найти все сообщения от kslabs
 
Регистрация: 30.03.2018
Сообщений: 5

Мне непонятно, какую информацию это Вам даст. Неужели ни у кого страницы не засыпают?
Может я что то не вижу, вот, что бы зайти на страницу, надо зарегистрироваться, но может Вы зарегистрированы, даю ссылку: Вот ссылка

Вот код скрипта.
console.log('Старт скрипт CS_Leaders');
var allNumbUrls = 0;		// Всего ссылок на странице
var	flagLeadTag = 1;		// Флаг готовности принять следующую ссылку/ 0:готов принять,   не 0:не готов, ожидаем
var	numbTabs = 0;			// текущий номер ссылки (количество уже откртых ссылок)
var	leaderUrlTabs ='';		// текущая ссылка на новый таб

var script  = document.createElement('link');					//Старт вставки фавикона
		script.id   = 'EmpowrFaviconNew';
		script.href = 'http://www.empowr.techaid.online/images/empowr/favicon.ico';
		script.rel  = 'shortcut icon'; 
		script.type = 'image/x-icon';	
		document.getElementsByTagName("head")[0].appendChild(script);
// считываем имеющееся общее количество ссылок для открытия табов	
allNumbUrls = document.getElementsByClassName('TransportTableCellAlignLeft SubjectNameCell').length
// устанавливаем номер первой ссылки
numbTabs = 1;
// Устанавливаем Url первой ссылки
console.log('numbTabs:'+numbTabs,'allNumbUrls:'+allNumbUrls);
//var leaderUrlTabs0 = document.getElementsByClassName('TransportTableCellAlignLeft SubjectNameCell')[numbTabs].getElementsByTagName('a')[0];
leaderUrlTabs = "'"+document.getElementsByClassName('TransportTableCellAlignLeft SubjectNameCell')[numbTabs].getElementsByTagName('a')[0]+"'";
console.log('leaderUrlTabs:'+leaderUrlTabs);
saveStorage ();

function saveStorage (){		
	chrome.storage.local.set({			// Сохраняем изменения
		'allNumbUrls':allNumbUrls,
		'flagLeadTag':flagLeadTag,
		'numbTabs':numbTabs,
		'leaderUrlTabs':leaderUrlTabs
	});	
};

(function readStorageProfileLeader() {
	chrome.storage.onChanged.addListener(function (changes,namespace) {
		for (key in changes){console.log('Обновилось:'+key,'Было:'+changes[key].oldValue,'/Стало:'+changes[key].newValue);
			if (key =='flagLeadTag'){	flagLeadTag = changes[key].newValue;	};	// флаг разрешения передачи ссылки
			if (key=='numbTabs'){	
			numbTabs = changes[key].newValue;	
			leaderUrlTabs = "'"+document.getElementsByClassName('TransportTableCellAlignLeft SubjectNameCell')[numbTabs].getElementsByTagName('a')[0]+"'";
			//console.log('Запомнили/flagLeadTag:'+flagLeadTag,'numbTabs:'+numbTabs,'leaderUrlTabs:'+leaderUrlTabs );
			};			// номер таба для следующего url	
		}
		if (flagLeadTag==0){
			flagLeadTag = 1;
			console.log('Выдаем следующий/flagLeadTag:'+flagLeadTag,'numbTabs:'+numbTabs,'leaderUrlTabs:'+leaderUrlTabs );
			saveStorage ();
		};
		console.log('Закончился внутренний цикл чтения обновления');
	});
	console.log('Закончилась функцияreadStorageProfileLeader()');
})();

Если периодически кликать по вкладке, то скрипт долго работает.
С бэкграунда постоянно идут запросы на нужные ссылки путем изменения значений chrome.storage.local
И данные получает бэграунд оттуда же. Обмен происходит по событиям chrome.storage.onChanged.addListener

Последний раз редактировалось kslabs, 31.03.2018 в 21:31.
Ответить с цитированием