Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mamayaya1
GitHub Repository: mamayaya1/game
Path: blob/main/js/tab.js
4626 views
1
//Autofocus without scroll
2
document.querySelector("#userinput").focus({
3
preventScroll: true
4
});
5
6
const image_preview = document.getElementById("image-preview");
7
const console_output = document.getElementById("console-output");
8
9
//Change tabTitle
10
const changeTabTitle = () => {
11
const newtitle = document.getElementById("userinput");
12
if (newtitle.value == ""){ //check if the input is blank when they submit
13
window.localStorage.removeItem("title");
14
window.document.title = "3kh0.github.io"
15
document.getElementById("console-output").style.color = "red"; //error = red
16
console_output.innerText = "No title entered. Default applied" //return output successful
17
} else {
18
window.localStorage.setItem("title", newtitle.value);
19
window.document.title = newtitle.value; //Set window's title to userinput
20
document.getElementById("console-output").style.color = "green"; //reset output's color to green
21
console_output.innerText = "Title change successful" //return output successful
22
}
23
newtitle.value = ""; //clear input
24
};
25
26
//Change the tabIcon
27
const changeTabIcon = () => {
28
const newfavicon = document.getElementById("userinput");
29
if (validURL(newfavicon.value)){
30
document.querySelector("link[rel*='icon']").href = newfavicon.value;
31
window.localStorage.setItem("icon", newfavicon.value);
32
document.getElementById("console-output").style.color = "green";
33
console_output.innerText = "Icon change successful"
34
} else {
35
document.getElementById("console-output").style.color = "red";
36
console_output.innerText = "Icon change failed. Make sure you are using a valid URL"
37
}
38
newfavicon.value = ""; //clear input
39
};
40
41
//URL Validation Regex
42
const validURL = (str) => {
43
var expression = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/gi;
44
var regex = new RegExp(expression);
45
return !!regex.test(str);
46
}
47
48
//Clears Tab Icon and Title
49
const resetTabSettings = () => {
50
let items = ["icon", "title"];
51
items.forEach(item =>
52
window.localStorage.removeItem(item));
53
document.getElementById("console-output").style.color = "black";
54
console_output.innerText = "Resetting..."
55
window.location.reload();
56
};
57
58
// Handle Apply buttons
59
60
function applyUrl(url, title){
61
document.getElementById("userinput").value = url;
62
changeTabIcon();
63
document.getElementById("userinput").value = title;
64
changeTabTitle();
65
document.getElementById("console-output").style.color = "green";
66
console_output.innerText = "Preset applied successfully!"
67
}
68