-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.js
49 lines (46 loc) · 1.48 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
if (message.action) {
switch (message.action) {
case 'kommand':
runKommand();
}
}
});
function getElementByAriaLabel(label) {
return document.querySelectorAll("[aria-label^='" + label + "']")[0];
}
function getElementByType(label) {
return document.querySelectorAll("[type^='" + label + "']")[0];
}
function runKommand() {
switch (window.location.hostname) {
case 'www.google.com':
var bar = getElementByAriaLabel('Search');
break;
case 'www.facebook.com':
var bar = getElementByAriaLabel('Search Facebook');
break;
case 'github.com':
var bar = getElementByAriaLabel('Search or jump to…');
break;
case 'www.gradescope.com':
var bar = getElementByType('search');
break;
case 'www.netflix.com':
var bar = getElementByAriaLabel('Search');
break;
case 'drive.google.com':
var bar = getElementByAriaLabel('Search in Drive');
break;
case 'www.amazon.com':
var bar = document.getElementById('twotabsearchtextbox');
break;
case 'www.youtube.com':
var bar = getElementByAriaLabel('Search');
break;
case 'www.tumblr.com':
var bar = getElementByAriaLabel('Search');
break;
}
bar.focus();
}