forked from extern/the-glorious-startpage
68 lines
2.0 KiB
JavaScript
68 lines
2.0 KiB
JavaScript
|
var localStorage = window.localStorage;
|
||
|
|
||
|
var searchBox = document.getElementById("searchBox");
|
||
|
var selectEngine = document.getElementById("searchEngineSelect");
|
||
|
var searchEngineAsDefault = document.getElementById("searchEngineAsDefault");
|
||
|
|
||
|
// Get default search engine
|
||
|
var defaultEngine = localStorage.getItem('searchEngine') || 'google';
|
||
|
|
||
|
let searchQueryPrefix;
|
||
|
|
||
|
// Update query string and placeholder
|
||
|
const selectQueryString = () => {
|
||
|
|
||
|
if (defaultEngine === "google") {
|
||
|
searchQueryPrefix = 'http://www.google.com/search?q=';
|
||
|
searchBox.placeholder = "Search with Google";
|
||
|
|
||
|
} else if (defaultEngine === "duckduckgo") {
|
||
|
searchQueryPrefix = 'https://duckduckgo.com/?q=';
|
||
|
searchBox.placeholder = "Search with Duckduckgo";
|
||
|
|
||
|
} else if (defaultEngine === "ecosia") {
|
||
|
searchQueryPrefix = 'https://www.ecosia.org/search?q=';
|
||
|
searchBox.placeholder = "Search with Ecosia";
|
||
|
|
||
|
} else if (defaultEngine === "yahoo") {
|
||
|
searchQueryPrefix = 'http://search.yahoo.com/search?p=';
|
||
|
searchBox.placeholder = "Search with Yahoo";
|
||
|
|
||
|
} else if (defaultEngine === "bing") {
|
||
|
searchQueryPrefix = 'https://www.bing.com/search?q=';
|
||
|
searchBox.placeholder = "Search with Bing";
|
||
|
|
||
|
} else {
|
||
|
searchQueryPrefix = 'http://www.google.com/search?q=';
|
||
|
searchBox.placeholder = "Search with Google";
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
// Use this to select the default search engine on startup
|
||
|
const selectTheEngine = () => {
|
||
|
// Available values: google, duckduckgo, ecosia, etc.
|
||
|
selectEngine.value = defaultEngine;
|
||
|
selectQueryString();
|
||
|
}
|
||
|
|
||
|
// Update settings if the value changes
|
||
|
selectEngine.onchange = () => {
|
||
|
// Get Value
|
||
|
var selectedEngine = selectEngine.options[selectEngine.selectedIndex].value;
|
||
|
defaultEngine = selectedEngine;
|
||
|
selectTheEngine()
|
||
|
}
|
||
|
|
||
|
searchEngineAsDefault.onmouseup = () => {
|
||
|
var selectCurrentIndex = selectEngine.options[selectEngine.selectedIndex]
|
||
|
alert('Success! ' + selectCurrentIndex.text +
|
||
|
' is now your default search engine!');
|
||
|
|
||
|
// Save search engine
|
||
|
localStorage.setItem('searchEngine', selectCurrentIndex.value);
|
||
|
}
|
||
|
|
||
|
// Initialize
|
||
|
window.onload = selectTheEngine();
|