I use a custom script to open all post and external links on the front page in a new tab. Based on a script I found online but customised to beehaw specifically.
// ==UserScript==// @name beehaw - Open links in new tab// @description Open links in new tab. Ctrl-click or Middle-click loads it in background// @match http*://*beehaw.org/home*// @match http*://*beehaw.org// @version 0.0.1// @grant GM_openInTab// @run-at document-start// ==/UserScript==var suppressing, clickedElement;
window.addEventListener('mousedown', function (e) {
clickedElement = e.target;
}, true);
window.addEventListener('mouseup', function (e) {
if (e.button > 1 || e.altKey || e.target != clickedElement) {
return;
}
var link = e.target.closest('a');
if (!link || !link.href) {
return;
}
if (link.getAttributeNode('aria-label') && link.getAttributeNode('aria-label').value == 'Expand here') {
return;
}
if (link.href.startsWith('https://beehaw.org') && !link.href.startsWith('https://beehaw.org/post/')) {
return;
}
GM_openInTab(link.href, {
active: !e.button && !e.ctrlKey,
setParent: true,
insert: true,
});
suppressing = true;
setTimeout(function () {
window.dispatchEvent(newMouseEvent('mouseup', {bubbles: true}));
});
prevent(e);
}, true);
window.addEventListener('click', prevent, true);
window.addEventListener('auxclick', prevent, true);
functionprevent(e) {
if (!suppressing) {
return;
}
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
setTimeout(function () {
suppressing = false;
}, 100);
}
I use a custom script to open all post and external links on the front page in a new tab. Based on a script I found online but customised to beehaw specifically.
// ==UserScript== // @name beehaw - Open links in new tab // @description Open links in new tab. Ctrl-click or Middle-click loads it in background // @match http*://*beehaw.org/home* // @match http*://*beehaw.org // @version 0.0.1 // @grant GM_openInTab // @run-at document-start // ==/UserScript== var suppressing, clickedElement; window.addEventListener('mousedown', function (e) { clickedElement = e.target; }, true); window.addEventListener('mouseup', function (e) { if (e.button > 1 || e.altKey || e.target != clickedElement) { return; } var link = e.target.closest('a'); if (!link || !link.href) { return; } if (link.getAttributeNode('aria-label') && link.getAttributeNode('aria-label').value == 'Expand here') { return; } if (link.href.startsWith('https://beehaw.org') && !link.href.startsWith('https://beehaw.org/post/')) { return; } GM_openInTab(link.href, { active: !e.button && !e.ctrlKey, setParent: true, insert: true, }); suppressing = true; setTimeout(function () { window.dispatchEvent(new MouseEvent('mouseup', {bubbles: true})); }); prevent(e); }, true); window.addEventListener('click', prevent, true); window.addEventListener('auxclick', prevent, true); function prevent(e) { if (!suppressing) { return; } e.preventDefault(); e.stopPropagation(); e.stopImmediatePropagation(); setTimeout(function () { suppressing = false; }, 100); }