Add last-resort hook to stop link navigation

Links which cause the browser to navigate to another page should be
removed or disabled in Scratch Desktop to prevent Electron from
navigating away from the editor. If we miss disabling or removing such a
link, this last-resort hook will disable navigation after the user
clicks a link.
This commit is contained in:
Christopher Willis-Ford 2018-12-14 14:27:10 -08:00
parent 6bf5d4a41a
commit c8f6b38df2

View file

@ -8,6 +8,22 @@ import styles from './app.css';
const defaultProjectId = 0;
const captureClick = function (ev) {
for (const element of ev.path) {
if (element.href) {
// prevent clicking links
// this is a last-resort test: if we get here that means there's work to do in the GUI
console.warn(`Suppressing click on link to ${element.href}`);
ev.preventDefault();
ev.stopPropagation();
return false;
}
}
};
document.addEventListener('DOMContentLoaded', () => {
document.addEventListener('click', captureClick, true);
});
// Register "base" page view
// analytics.pageview('/');