summaryrefslogtreecommitdiffstats
path: root/src/pages/background/background.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/background/background.js')
-rw-r--r--src/pages/background/background.js27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index e3727e7..8feb5df 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -543,24 +543,41 @@ function redirectGoogleTranslate(url, initiator) {
}
function redirectWikipedia(url, initiator) {
+ console.log(url);
if (disableWikipedia || isException(url, initiator)) {
return null;
}
+ let GETArguments = [];
+ if (url.search.length > 0) {
+ let search = url.search.substring(1); //get rid of '?'
+ let argstrings = search.split('&');
+ for (let i = 0; i < argstrings.length;i++) {
+ let args = argstrings[i].split('=');
+ GETArguments.push([args[0],args[1]]);
+ }
+ }
+
let link = `${wikipediaInstance}${url.pathname}`;
let urlSplit = url.host.split('.');
if (urlSplit[0] != "wikipedia" && urlSplit[0] != "www") {
if (urlSplit[0] == 'm')
- link += "?mobileaction=toggle_view_mobile";
+ GETArguments.push(["mobileaction","toggle_view_mobile"]);
else
- link += `?lang=${urlSplit[0]}`;
+ GETArguments.push(["lang",urlSplit[0]]);
if (urlSplit[1] == 'm')
- link += "&mobileaction=toggle_view_mobile";
+ GETArguments.push(["mobileaction","toggle_view_mobile"]);
//wikiless doesn't have mobile view support yet
}
+ for (let i = 0; i < GETArguments.length; i++) {
+ link += (i == 0 ? '?' : '&') + GETArguments[i][0] +
+ '=' + GETArguments[i][1];
+ }
if (urlSplit[urlSplit.length - 1] == "org" &&
- urlSplit[urlSplit.length - 2] == "wikipedia")
+ urlSplit[urlSplit.length - 2] == "wikipedia")
//just in case someone wanted to visit wikipedia.org.foo.bar.net
- return link;
+ return link;
+ else
+ return null;
}
browser.webRequest.onBeforeRequest.addListener(