add user script
This commit is contained in:
parent
029b83ef9b
commit
86522cc0d6
38
startpage.user.js
Normal file
38
startpage.user.js
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
// ==UserScript==
|
||||||
|
// @name Startpage Bangs
|
||||||
|
// @version 1
|
||||||
|
// @grant none
|
||||||
|
// @run-at document-start
|
||||||
|
// @include https://*.startpage.com/*
|
||||||
|
// ==/UserScript==
|
||||||
|
|
||||||
|
fetch('https://s3.sbruder.de/cdn/bangs/bangs.json')
|
||||||
|
.then(text => text.json())
|
||||||
|
.then(bangs => {
|
||||||
|
const urlParams = new URLSearchParams(window.location.search)
|
||||||
|
const searchQuery = urlParams.get('query')
|
||||||
|
|
||||||
|
let matchBang = null
|
||||||
|
let parsedBang = null
|
||||||
|
|
||||||
|
matchBang = searchQuery.match(/(.*) \!(.*)/)
|
||||||
|
if (matchBang !== null) {
|
||||||
|
parsedBang = {
|
||||||
|
'bang': matchBang[2],
|
||||||
|
'query': matchBang[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
matchBang = searchQuery.match(/\!(.*) (.*)/)
|
||||||
|
if (matchBang !== null) {
|
||||||
|
parsedBang = {
|
||||||
|
'bang': matchBang[1],
|
||||||
|
'query': matchBang[2]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (parsedBang !== null) {
|
||||||
|
redirectURL = bangs[parsedBang.bang].replace('%s', parsedBang.query)
|
||||||
|
window.location.replace(redirectURL);
|
||||||
|
}
|
||||||
|
})
|
Loading…
Reference in a new issue