Hi there, @Paul_Hayes1
Our devs came up with 2 solutions for your case.
The 1st code will open all links in the same tab:
const waitForElem = (selector) =>
new Promise((resolve) => {
if (document.querySelector(selector)) {
return resolve(document.querySelector(selector));
}
const observer = new MutationObserver(() => {
if (document.querySelector(selector)) {
observer.disconnect();
resolve(document.querySelector(selector));
}
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
});
waitForElem('#__EAAPS_PORTAL[class*="eapps-blog"]').then((popup) => {
popup.addEventListener('click', (e) => {
const link = e.target.closest('a');
if (link?.href) {
e.preventDefault();
window.open(link.href, '_self');
}
});
});
And the 2nd code will open the links from the website where the widget is installed in the same tab. Links from other websites will be opened in a new tab:
const waitForElem = (selector) =>
new Promise((resolve) => {
if (document.querySelector(selector)) {
return resolve(document.querySelector(selector));
}
const observer = new MutationObserver(() => {
if (document.querySelector(selector)) {
observer.disconnect();
resolve(document.querySelector(selector));
}
});
observer.observe(document.body, {
childList: true,
subtree: true,
});
});
waitForElem('#__EAAPS_PORTAL[class*="eapps-blog"]').then((popup) => {
popup.addEventListener('click', (e) => {
const link = e.target.closest('a');
if (link && link.href.startsWith(window.location.origin)) {
e.preventDefault();
window.open(link.href, '_self');
}
});
});
Try it out and let us know if it worked for you
We agree that it would be great to have this feature right in the settings and I’ve added this idea to the Wishlist - Setting to open links in new/same tab