Compare commits
3 Commits
a93b5ed92d
...
16ba17eb9c
Author | SHA1 | Date |
---|---|---|
Bauke | 16ba17eb9c | |
Bauke | ed663484e2 | |
Bauke | 055be574c5 |
|
@ -39,13 +39,13 @@ browser.webNavigation.onBeforeNavigate.addListener(async (details) => {
|
|||
await browser.storage.local.get(),
|
||||
)) {
|
||||
const redirect = parseRedirect(parameters, id);
|
||||
if (redirect === undefined) {
|
||||
if (redirect === undefined || !redirect.parameters.enabled) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (redirect.isMatch(url)) {
|
||||
const redirectedUrl = redirect.redirect(url);
|
||||
await browser.tabs.update({url: redirectedUrl.href});
|
||||
await browser.tabs.update(details.tabId, {url: redirectedUrl.href});
|
||||
await browser.storage.local.set({
|
||||
latestTime: Date.now(),
|
||||
latestUrl: url.href,
|
||||
|
|
|
@ -15,6 +15,7 @@ export function narrowRedirectType(value: string): value is RedirectType {
|
|||
}
|
||||
|
||||
export type RedirectParameters = {
|
||||
enabled: boolean;
|
||||
matcherType: MatcherType;
|
||||
matcherValue: string;
|
||||
redirectType: RedirectType;
|
||||
|
|
|
@ -16,6 +16,7 @@ import {
|
|||
} from '../source/redirect/exports.js';
|
||||
|
||||
const hostnameParameters: RedirectParameters = {
|
||||
enabled: true,
|
||||
matcherType: 'hostname',
|
||||
matcherValue: 'example.com',
|
||||
redirectType: 'hostname',
|
||||
|
@ -23,6 +24,7 @@ const hostnameParameters: RedirectParameters = {
|
|||
};
|
||||
|
||||
const simpleParameters: RedirectParameters = {
|
||||
enabled: true,
|
||||
matcherType: 'hostname',
|
||||
matcherValue: 'example.com',
|
||||
redirectType: 'simple',
|
||||
|
@ -89,6 +91,7 @@ test('Redirect.isMatch', (t) => {
|
|||
} as unknown as HostnameRedirect['parameters']);
|
||||
|
||||
const regexMatch = new HostnameRedirect({
|
||||
enabled: true,
|
||||
matcherType: 'regex',
|
||||
matcherValue: String.raw`^https://(www\.)?example.org/$`,
|
||||
redirectType: 'simple',
|
||||
|
|
|
@ -11,6 +11,7 @@ Generated by [AVA](https://avajs.dev).
|
|||
HostnameRedirect {
|
||||
id: 'id',
|
||||
parameters: {
|
||||
enabled: true,
|
||||
matcherType: 'hostname',
|
||||
matcherValue: 'example.com',
|
||||
redirectType: 'hostname',
|
||||
|
@ -23,6 +24,7 @@ Generated by [AVA](https://avajs.dev).
|
|||
SimpleRedirect {
|
||||
id: 'id',
|
||||
parameters: {
|
||||
enabled: true,
|
||||
matcherType: 'hostname',
|
||||
matcherValue: 'example.com',
|
||||
redirectType: 'simple',
|
||||
|
|
Binary file not shown.
Loading…
Reference in New Issue