مرحباً ![]()
إليك مثال على كيفية استخدامي لهذا في مكون الثيم الخاص بي.
في حالتي، أستخدم الإعدادات لهذا الغرض لأن المكون يغير الأيقونات ديناميكيًا عبر CSS، مما يسمح لي باستهداف تلك الإعدادات مباشرةً. (إضافة فئة إلى الروابط لا تعمل دائمًا بشكل جيد في بعض الحالات.)
ومع ذلك، بالنسبة للمكون الخاص بك، يمكنك ببساطة استبعاد اسم المضيف الحالي ديناميكيًا بشيء كهذا، على ما أعتقد:
import { apiInitializer } from "discourse/lib/api";
export default apiInitializer((api) => {
api.decorateCookedElement(
(element) => {
const currentHost = window.location.hostname;
const selector = `a[href*='//']:not([href^='/']):not([href*='${currentHost}'])`;
const links = element.querySelectorAll(selector);
links.forEach((link) => {
console.log("External link:", link.href);
});
},
{ id: "external-link", onlyStream: true }
);
});