В своем расширении я создаю новую вкладку с URL из скрипта background.js
. И по завершении загрузки страницы я вставляю файл Javascript с именем addAlias.js
на эту вкладку, который будет выполнять некоторые задачи и нажимать кнопку отправки.
Проблема заключается в том, что после нажатия кнопки отправки страница на вкладке нажимается изменяется, но внедренные сценарии снова запускаются.
Я хочу запустить его только один раз, когда вкладка создается впервые.
Вот мой код:
манифест. json
{
"manifest_version":2,
"name":"Extension Name",
"description":"This extension description",
"version":"1.0.0",
"icons":{"128":"icon_128.png"},
"browser_action":{
"default_icon":"icon.png",
"default_popup":"popup.html"
},
"permissions":["activeTab", "background", "tabs", "http://*/*", "https://*/*"],
"background": {
"scripts": ["background.js"],
"persistent": false
}
}
фон. js
chrome.tabs.query({active:true},function(tabs){
chrome.tabs.create({url : tabURL}, function(tab){
addPageCompleteListener(tab); //Passing tab to add listener if the tab loading completed or not.
});
});
function addPageCompleteListener(tabOpened){
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
if (tabId==tabOpened.id){
if (changeInfo.status == 'complete') {
// It means Page has completely loaded
//Now injecting Js script file
chrome.tabs.executeScript(tabOpened.id, {file: 'addAlias.js'});
chrome.tabs.executeScript(tabId,{code:'console.log("addAlias.js loaded");'})
}
}
});
}
addAlias. js
//Some other code
let add_alias_btn = document.getElementById('SubmitYes'); //Selecting submit button
/*
Some tasks
*/
add_alias_btn.click(); //Clicking the submit button