Показать сообщение отдельно
  #1 (permalink)  
Старый 25.12.2017, 17:54
Новичок на форуме
Отправить личное сообщение для BeleK0ss Посмотреть профиль Найти все сообщения от BeleK0ss
 
Регистрация: 25.12.2017
Сообщений: 8

Нужна помощь с доработкой скрипта расширения под Chrome
Всем доброго времени суток!
Ребята выручайте, неделю воюю, но опыта 0. Делаю расширение для рабочего сайта. Расширение само по себе блокирует возможность открывать более чем задано количество вкладок в окне браузера.
Реализованный алгоритм, на данный момент, его таков: Есть 1 вкладка с главным сайтом на котором есть 2 кнопки -> при попытке открыть новое окно оно закрывается через N секунд. -> когда новая вкладка закрывается, главная страница автоматически обновляется.
Мне нужно что бы после обновления страницы, нажималась кнопка id=0.
Вот кнопка:
<button class="button" type="button" data-href="https://sportloto.com.ua/#sports" data-index="0" id="0">Ставки на спорт</button>


manifest.json:
{
    "name": "Tab Limit",
    "description": "Limit the number of open, non-pinned browser tabs",
    "version": "0.1.0",
	
    "background": {
        "scripts": ["background.js"]
    },

    "permissions": [
        "tabs"
		
    ],
    "browser_action": {
        "default_icon": {
            "19": "icons/19.png",
            "38": "icons/38.png"
        },
        "default_title": "Tab Limit"
    },
    "icons": {
        "48": "icons/48.png",
        "128": "icons/128.png"
    },
    "manifest_version": 2
}

background.js:
var isEnabled = true;
var maxTabs = 1;
var tabsCount;


function updateBadgeText() {
    var tabsBalance = maxTabs - tabsCount;
    var tabsAllowanceRemaining = (tabsBalance > 0) ? tabsBalance : 0;

    chrome.browserAction.setBadgeText({
        text: "" + tabsAllowanceRemaining
		
    });
	
}

function updateTabsCount() {
	
    chrome.tabs.query({
        windowType: 'normal',
        pinned: false
    }, function (tabs) {
        tabsCount = tabs.length;
        updateBadgeText();
    });
}

function handleTabCreated(tab) {
   if (tabsCount >= maxTabs) {
		setTimeout(function() {
        chrome.tabs.remove(tab.id);
		}, 2000);	
	}
    else {
        updateTabsCount();
    }
}

function handleTabClick() {
	
			setTimeout(function() 	{
				
		}, 5000);
}

function handleTabRemoved(tab) {
    updateTabsCount();
	chrome.tabs.reload(tab.id);
		handleTabClick();
	}

function handleTabUpdated(tab) {
    updateTabsCount();
}


function init() {
    updateTabsCount();
    chrome.tabs.onCreated.addListener(handleTabCreated);
    chrome.tabs.onRemoved.addListener(handleTabRemoved);
    chrome.tabs.onUpdated.addListener(handleTabUpdated);
	}

function teardown() {
    chrome.tabs.onCreated.removeListener(handleTabCreated);
    chrome.tabs.onRemoved.removeListener(handleTabRemoved);
    chrome.tabs.onUpdated.removeListener(handleTabUpdated);
	}

chrome.browserAction.onClicked.addListener(function (tab) {
    if (!isEnabled) {
        init();
        chrome.browserAction.setIcon({ path: "icons/19.png" });
	}
    else {
        teardown();
        chrome.browserAction.setIcon({ path: "icons/19-disabled.png" });
        chrome.browserAction.setBadgeText({ 'text': '' });
  }

    isEnabled = !isEnabled;
});


init();


Соответствено пробовал все что нашел в Google и тут на сайте. Ничего не вышло. В консоли браузера все отлично работает. Подставляю в расширение, ноль.
function handleTabClick() {
	
			setTimeout(function() 	{
				
		}, 5000);
}

В эту же форму вставляю Alert('111'); для проверки, сообщение как положено выводится через 5 секунд. Вставляю
document.getElementById('0').click();

или
document.getElementByClassName('button')[0].click();

Ничего не работает
Ответить с цитированием