Skip to content

Commit e59a477

Browse files
authored
Merge pull request #270 from RedGuy12/install
2 parents e442208 + 574a612 commit e59a477

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

content/install.html

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
title: Install Scratch Addons
3+
description: Go to the Scratch Addons insallation page.
4+
---
5+
6+
<script>
7+
window.installButtonGo = (name, engine) => {
8+
delete window.installButtonGo
9+
10+
// Figure out the browser
11+
switch (engine) {
12+
case "Blink":
13+
if (name === "Microsoft Edge") location.href = "https://microsoftedge.microsoft.com/addons/detail/iliepgjnemckemgnledoipfiilhajdjj"
14+
else location.href = "https://chrome.google.com/webstore/detail/fbeffbjdlemaoicjdapfpikkikjoneco"
15+
break
16+
case "Gecko":
17+
location.href = "https://addons.mozilla.org/firefox/addon/scratch-messaging-extension/"
18+
break
19+
default:
20+
location.href = "https://scratchaddons.com/docs/getting-started/installing/"
21+
break
22+
}
23+
}
24+
25+
// Use Bowser to get the used browser, and save it to the local storage to avoid calling Bowser again.
26+
if (localStorage.getItem("browserName") !== null && localStorage.getItem("browserEngine") !== null) installButtonGo(localStorage.getItem("browserName"), localStorage.getItem("browserEngine"))
27+
else {
28+
console.info("No browser data saved. Getting bowser to get it...")
29+
30+
const detectEngineElement = document.createElement("script")
31+
32+
detectEngineElement.type = "module"
33+
detectEngineElement.innerHTML = `
34+
import bowser from 'https://cdn.jsdelivr.net/npm/bowser/+esm'
35+
36+
localStorage.setItem("browserName", bowser.getParser(navigator.userAgent).parsedResult.browser.name)
37+
localStorage.setItem("browserEngine", bowser.getParser(navigator.userAgent).parsedResult.engine.name)
38+
39+
window.installButtonGo(localStorage.getItem("browserName"), localStorage.getItem("browserEngine"))
40+
`
41+
document.head.appendChild(detectEngineElement)
42+
}
43+
</script>

0 commit comments

Comments
 (0)