Initial push...
This commit is contained in:
BIN
src/icons/altTabPage_48x48.png
Normal file
BIN
src/icons/altTabPage_48x48.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
BIN
src/icons/altTabPage_96x96.png
Normal file
BIN
src/icons/altTabPage_96x96.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
22
src/manifest.json
Normal file
22
src/manifest.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"manifest_version": 2,
|
||||
"name": "Alt Tab Page",
|
||||
"version": "1.0.0",
|
||||
"description": "Alt Tab Page helps set the preferred load page for new tabs.",
|
||||
|
||||
"applications": {
|
||||
"gecko": {
|
||||
"id": "altTabPage@itdominator.com",
|
||||
"strict_min_version": "54.0"
|
||||
}
|
||||
},
|
||||
|
||||
"icons": {
|
||||
"48": "icons/altTabPage_48x48.png",
|
||||
"96": "icons/altTabPage_96x96.png"
|
||||
},
|
||||
|
||||
"permissions": [ "storage" ],
|
||||
"options_ui": { "page": "pages/options.html" },
|
||||
"chrome_url_overrides": { "newtab": "pages/newTab.html" }
|
||||
}
|
10
src/pages/newTab.html
Normal file
10
src/pages/newTab.html
Normal file
@@ -0,0 +1,10 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>New Tab</title>
|
||||
<meta charset="utf-8"/>
|
||||
</head>
|
||||
<body>
|
||||
<script src="../scripts/loadNewPage.js"></script>
|
||||
</body>
|
||||
</html>
|
26
src/pages/options.html
Executable file
26
src/pages/options.html
Executable file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Alt Tab Page Settings</title>
|
||||
<meta charset="utf-8"/>
|
||||
<style media="screen">
|
||||
button { float: right; }
|
||||
#tabPageToLoad { width: 100%; margin-bottom: 0.5em; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<font size="4">
|
||||
<p>
|
||||
Alt Tab Page allows the user to select their preferred load page for new tabs and defaults to Google's when not in use.
|
||||
<br/><br/>
|
||||
<label>Prefered Tab Page:</label>
|
||||
<input id="tabPageToLoad" type="text" value="">
|
||||
<button id="saveButtonAction" type="button" name="ButtonSave">Save</button>
|
||||
<button id="delButtonAction" type="button" name="ButtonDel">Delete</button>
|
||||
</p>
|
||||
</font>
|
||||
|
||||
<script src="../scripts/altTabPageSettings.js"></script>
|
||||
</body>
|
||||
</html>
|
44
src/scripts/altTabPageSettings.js
Normal file
44
src/scripts/altTabPageSettings.js
Normal file
@@ -0,0 +1,44 @@
|
||||
// Declare variables.
|
||||
const browserStorage = browser.storage.local;
|
||||
const tabPgInput = document.querySelector("#tabPageToLoad");
|
||||
const saveBttn = document.querySelector("#saveButtonAction");
|
||||
const delBttn = document.querySelector("#delButtonAction");
|
||||
|
||||
|
||||
/* Asign signal handaling in settings page. */
|
||||
// Save desired url....
|
||||
saveBttn.addEventListener('click', () => {
|
||||
var urlLink = tabPgInput.value;
|
||||
urlLink = (urlLink.match(/(localhost)\b/)) ? urlLink.replace("localhost", "127.0.0.1") : urlLink;
|
||||
urlLink = (urlLink.match(/^(http:\/\/|https:\/\/)/)) ? urlLink : "http://" + urlLink;
|
||||
|
||||
browserStorage.clear();
|
||||
browserStorage.set({ userSelectedTabPage : urlLink });
|
||||
|
||||
tabPgInput.value = urlLink;
|
||||
console.log("Saved Alt Tab Page: " + urlLink);
|
||||
});
|
||||
|
||||
// Delete desired url and set Default marker....
|
||||
delBttn.addEventListener('click', () => {
|
||||
browserStorage.clear();
|
||||
tabPgInput.value = "Default";
|
||||
console.log("Deleted Alt Tab Page...");
|
||||
});
|
||||
|
||||
// On start load from settings
|
||||
function loadOnStart(restoredSettings) {
|
||||
var homeTabURL = restoredSettings.userSelectedTabPage;
|
||||
|
||||
console.log("Trying to load settings if any...");
|
||||
if (homeTabURL !== "Default" && homeTabURL !== undefined) {
|
||||
tabPgInput.value = homeTabURL
|
||||
} else {
|
||||
tabPgInput.value = "Default";
|
||||
}
|
||||
}
|
||||
|
||||
function onError(e) { console.error(e); }
|
||||
|
||||
|
||||
browserStorage.get().then(loadOnStart, onError);
|
21
src/scripts/loadNewPage.js
Normal file
21
src/scripts/loadNewPage.js
Normal file
@@ -0,0 +1,21 @@
|
||||
function redirectToPreferedHome() {
|
||||
var tabPgSettings = browser.storage.local.get();
|
||||
tabPgSettings.then(finishLoad, onError);
|
||||
}
|
||||
|
||||
function finishLoad(toLoadSettings) {
|
||||
var loadSelectedPage = browser.tabs;
|
||||
var pageToLoad = toLoadSettings.userSelectedTabPage;
|
||||
|
||||
console.log("Trying to load settings if any...");
|
||||
if (pageToLoad !== "Default" && pageToLoad !== undefined) {
|
||||
loadSelectedPage.update({url: pageToLoad});
|
||||
} else {
|
||||
loadSelectedPage.update({url: "https://www.google.com/"});
|
||||
}
|
||||
}
|
||||
|
||||
function onError(error) { console.log(`Error: ${error}`); }
|
||||
|
||||
|
||||
redirectToPreferedHome();
|
Reference in New Issue
Block a user