28 lines
709 B
JavaScript
28 lines
709 B
JavaScript
browser.browserAction.onClicked.addListener(() => {
|
|
browser.tabs.create({
|
|
url: browser.runtime.getURL("player.html")
|
|
});
|
|
});
|
|
|
|
browser.webRequest.onBeforeRequest.addListener(
|
|
(details) => {
|
|
const url = details.url.toLowerCase();
|
|
if (isSupportedMediaUrl(url)) {
|
|
const playerUrl = browser.runtime.getURL("player.html") + "?media=" + encodeURIComponent(details.url);
|
|
|
|
return { redirectUrl: playerUrl };
|
|
}
|
|
|
|
return {};
|
|
},
|
|
{
|
|
urls: ["<all_urls>"],
|
|
types: ["main_frame", "sub_frame"]
|
|
},
|
|
["blocking"]
|
|
);
|
|
|
|
function isSupportedMediaUrl(url) {
|
|
return url.match(/\.(669|amf|it|mod|mtm|mptm|s3m|stm|ult|uni|xm|umx)$/i) ||
|
|
url.match(/^(669|amf|it|mod|mtm|mptm|s3m|stm|ult|uni|xm|umx)\./i);
|
|
} |