Ссылки не открываются в новой вкладке

Убедитесь, что всё настроено правильно:

Но внешние ссылки открываются в той же вкладке.

Это ошибка?

Вы заменяете это своими личными предпочтениями?

2 лайка

Для справки: это находится в разделе «Настройки» > «Интерфейс» > «Открывать все внешние ссылки в новой вкладке» :+1: .

1 лайк

Это также настроено на открытие в новых вкладках:

Если вы измените свои предпочтения здесь, на Meta (и обновите страницу), будет ли это работать так, как вы ожидаете на этом форуме?

1 лайк

Да, я только что настроил это здесь в своих предпочтениях, и внешняя ссылка открылась в новой вкладке.

Тогда, похоже, это не ошибка в Discourse.

Есть ли что-то особенное в вашем форуме? Пробовали ли вы безопасный режим? Возможно, есть плагин, который мог бы вызвать эту проблему?

Ничего особенного. Размещено самостоятельно на Hostinger Ubuntu. Я также отключил все плагины. Попробую безопасный режим.

Для всех, у кого возникла эта проблема, вот решение. Просто создайте компонент темы и добавьте этот код в раздел JS:

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer("1.8.0", (api) => {
  api.decorateCookedElement(
    (element) => {
      element.querySelectorAll("a[href^='http']").forEach((link) => {
        if (link.hostname !== window.location.hostname) {
          link.target = "_blank";
          link.rel = "noopener noreferrer";
        }
      });
    },
    { id: "external-links-new-tab" }
  );
});