وصف العلامة يزيل target="_blank"

أرغب في إضافة رابط في وصف بعض العلامات الخاصة بي على النحو التالي:

<a href="https://store.sgiant.me" target="_blank">انقر هنا</a> لزيارة متجر Sir Giant الرسمي.

عندما أحفظه لأول مرة، فإنه يعمل ويفتح في نافذة جديدة.
عندما أقوم بتحديث الصفحة، فإنه لا يعمل بعد الآن وعندما أتحقق من الكود، يصبح:

<a href="https://store.sgiant.me">انقر هنا</a> لزيارة متجر Sir Giant الرسمي.

لقد قمت بالفعل بتعيين خيار فتح الروابط الخارجية في علامة تبويب جديدة على “نعم”، ولكن يبدو أن هذا لا يؤثر على هذه الحالة المحددة حيث أقوم بإضافة كود HTML.

اقترح ChatGPT إنشاء مكون مع علامة تبويب JS تحتوي على:

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

export default apiInitializer((api) => {
  function processTagLinks() {
    document.querySelectorAll('.tag-title-contents a[href^="http"]').forEach(link => {
      if (!link.href.includes(window.location.hostname) && !link.hasAttribute('data-processed')) {
        link.setAttribute('target', '_blank');
        link.setAttribute('rel', 'noopener noreferrer');
        link.setAttribute('data-processed', 'true');
      }
    });
  }

  // Process immediately
  processTagLinks();

  // Watch for DOM changes
  const observer = new MutationObserver(() => {
    processTagLinks();
  });

  observer.observe(document.body, {
    childList: true,
    subtree: true
  });

  // Also run on page changes
  api.onPageChange(() => {
    setTimeout(processTagLinks, 100);
  });
});

لكنني لست مطورًا ولا أعرف ما إذا كان هذا حلاً جيدًا أم لا؟

ربما تريد فقط تعديل فتح الروابط الخارجية الأخرى افتراضيًا في علامة تبويب جديدة

لكن هذا ما أعنيه بـ “لدي بالفعل هذا الخيار لفتح الروابط الخارجية في علامة تبويب جديدة مضبوطًا على نعم”

image

هذا لا يؤثر على كود HTML الخام الذي أستخدمه في الوصف. لهذا السبب كان عليّ إيجاد بديل.

إعجاب واحد (1)