Всем доброго времени суток!
Ребята выручайте, неделю воюю, но опыта 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();
Ничего не работает