Relaterat till tråden Montrose by Carnegie, ny digital investeringsplattform, men tänkte att det här var ett sidospår.
Har hört att flera vill vara inloggade längre på Montrose. Alltid kul med en utmaning! Följande fungerar i webbläsaren.
Slängde ihop ett bokmärke till webbläsaren (egentligen “bookmarklet” på engelska). När man klickar på det så börjar det klicka på knappen för alla konton, följt av knappen för det första kontot. Det sker ett klick var 15:e minut. Man lämnar sedan den här fliken öppen och öppnar en ny för att faktiskt använda Montrose.
Den här rutan visas högst upp på hemsidan:
![]()
Har testat det i flera timmar i Firefox. Vet inte om ännu fler timmar kan göra att webbläsaren pausar fliken.
Det lättaste sättet att lägga till bokmärket är enligt följande (men det finns även andra sätt):
- Ctrl+Shift+B för att visa Bookmarks bar.
- Högerklicka på bookmarks bar och välj Add Bookmark… (Firefox) / Add Page… (Chrome).
- Fyll i namn och klistra in URL från informationen nedan. Hela koden klistras in. Den blir en rad i URL-rutan.
- Spara.
- Gå till https://app.montrose.io, logga in och klicka på bokmärket.
Namn: Håll Montrose inloggat
URL:
javascript:
/* Bookmarklet to keep login session active at montrose.io, by clicking on
* account selection buttons.
*
* Version: 1.0
* Author: thomasa88
* License: MIT
*/
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
/*
* What does not keep the session active:
* * The Auto Reload Tab extension
* * Only clicking the profile button
* What keeps the session active:
* * Clicking the buttons for selecting the active account every 15 minutes
*/
/* Might the browser also put the tab in the background? */
periodSecs = 15 * 60;
async function run() {
let clickTimeSpan = document.getElementById('login-keeper-click-time');
if (clickTimeSpan) {
alert('Bokmärket har redan laddats. Ladda om sidan om du vill inaktivera eller ladda det igen.');
return;
}
createBanner();
let allAccountsBtn = document.querySelector('button[aria-label="Alla konton"]');
let firstAccountBtn = document.querySelector('button[aria-label="Alla konton"] ~ button');
let buttons = [allAccountsBtn, firstAccountBtn];
/* Highlight which buttons we are using */
buttons.forEach(b => b.style.background = 'red');
clickTimeSpan = document.getElementById('login-keeper-click-time');
while (true) {
for (const btn of buttons) {
console.log('Clicking');
btn.click();
let now = new Date();
clickTimeSpan.innerText = `Senaste klicket: ${padTime(now.getHours())}:${padTime(now.getMinutes())}`;
await sleep(periodSecs * 1000);
}
}
}
function padTime(num) {
return num.toString().padStart(2, '0');
}
function createBanner() {
let info = document.createElement('span');
info.innerHTML = `
<div style="position: fixed; top: 0; left: 0; background: red; color: white; padding: 5px; border-radius: 10px;">
Håller inloggningen aktiv. Använd <a href="https://app.montrose.io" style="text-decoration: underline; color: white;" target="mr-tab">Montrose i en annan flik</a>. Stäng den här fliken eller ladda om sidan för att avbryta.
<span id="login-keeper-click-time"></span>
</div>
`;
document.body.appendChild(info);
}
run();
void(0);
