3 ms·
edit any text on webpage javascript: (function() { document.body.contentEditable = true; document.body.spellcheck = false; })(); Open on wayback mach
by madacol 3y ago
edit any text on webpage
javascript: (function() { document.body.contentEditable = true; document.body.spellcheck = false; })();
Open on wayback machine
javascript:location.href='https://web.archive.org/web/*/'+document.location.href.replace(/\/$/, '');
Others that are longer https://github.com/madacol/web-automation/tree/master/bookmarklets https://github.com/madacol/web-automation/tree/master/bookma...
- madacol 3y agoAn interesting one I made recently is related to a game published a couple of days ago here in HN called "infinite craft" https://neal.fun/infinite-craft/ https://neal.fun/infinite-craft/ The game does not have any save mechanism, so I made a bookmarklet that loads and autosaves to localStorage ``` javascript:(function(){ const exportState = () => JSON.stringify({ discoveries: window.$nuxt.$root.$children[2].$children[0].$children[0]._data.discoveries, elements: window.$nuxt.$root.$children[2].$children[0].$children[0]._data.elements }); const importState = (state) => { const { discoveries, elements } = JSON.parse(state); const gameInstance = window.$nuxt.$root.$children[2].$children[0].$children[0]._data; gameInstance.discoveries = discoveries; gameInstance.elements = elements; }; /* Set up a MutationObserver to listen for changes in the DOM and automatically export the current state. */ const observer = new MutationObserver((mutations) => { const state = exportState(); localStorage.setItem('gameState', state); }); /* Start observing DOM changes to auto-save the game state. */ const startObserving = () => { const targetNode = document.querySelector('.sidebar'); observer.observe(targetNode, { childList: true, subtree: true }); }; /* Check for a saved state in localStorage and import it if available. */ const savedState = localStorage.getItem('gameState'); if (savedState) importState(savedState); else localStorage.setItem('gameState', exportState() ); startObserving(); })(); ```
- dugite-code 3y agoOh that's just awesome. Using this with the send to obsidian addon sounds like the best of ideas