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