Ebay EPN: خطأ في خريطة المصدر

يوفر برنامج التسويق بالعمولة من Ebay نصًا برمجيًا يحول الروابط من جانب العميل. إنه شيء بسيط من سطرين:

<script>window._epn = {campaign: [XXX_ID_XXX], smartPopover:false};</script>
<script src="https://epnt.ebay.com/static/epn-smart-tools.js"></script>

أدرك أنه لا يمكنني ببساطة إضافة هذين السطرين لأسباب أمنية. هناك نقاش بسيط هنا EPN Smart Links

لقد أنشأت مكون سمة بسيطًا جدًا ووضعت الكود في ملف common/head_tag.html:

تم تحديد المعرف في صفحة المكون وسجلت وحدة التحكم المعرف الصحيح. ومع ذلك، لا يبدو أنه يحدث أي تغييرات على عناوين URL.

لقد أضفت هذا epn-smart-tools.js كاستثناء لسياسة أمان المحتوى. ومع ذلك، أحصل على هذا التحذير في وحدة تحكم المتصفح:
image

يبدو أن “from-url.js.map” المشار إليه في epn-smart-tools.js هو المشكلة. لقد كتبت ملف html بسيطًا على مكتبي وقمت بتشغيله محليًا ولا يبدو أن هناك مشكلة - مما يقودني إلى الاعتقاد بأنها مشكلة في جانب discourse أكثر من كونها مشكلة في متصفحي.

ماذا تفعل خرائط المصدر هذه وكيف تتفاعل معها discourse خارج حدود معرفتي. أي نصيحة هنا؟ هل أغفل شيئًا؟

ملفات الخرائط المصدرية هي ملفات اختيارية تساعد في تصحيح الأخطاء في الأصول المصغرة. بما أنك لا تتحكم في هذا الأصل، ولا تتحكم في مصدره، يجب عليك تجاهل هذا التحذير.

إعجابَين (2)

شكراً على المعلومات @Falco وعيد ميلاد سعيد.

لقد اكتشفت أن المشكلة كانت في المكان الذي أضفت فيه سطر <script src=“…”.

نجح هذا معي:

<script type="text/discourse-plugin" version="0.8">

  console.log(settings.epn_id);
  window._epn = {campaign: settings.epn_id, smartPopover:false};

  var script = document.createElement('script');
  script.src = 'https://epnt.ebay.com/static/epn-smart-tools.js';
  var head = document.getElementsByTagName("head")[0];
  head.appendChild(script);

</script>

المشكلة التالية التي واجهتني هي أن العناصر التي يتم تحميلها ديناميكيًا لا يتم تطبيق البرنامج النصي عليها. على سبيل المثال، إذا قمت بتحديث الصفحة حول موضوع ما، فإن المشاركات التي يتم تحميلها ستحتوي على رابط الإحالة، ولكن التمرير للكشف عن المزيد من المشاركات - تلك لا تفعل ذلك.

هل هناك طريقة لتشغيل البرنامج النصي في كل مرة يتم فيها تحميل عنصر جديد؟

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

من الناحية المثالية، ستقوم بذلك على جانب الخادم، بمجرد حفظ منشور جديد. لدينا مكون إضافي يقوم بذلك بالضبط لأمازون، لذا يجب أن تكون قادرًا على تكييفه لـ eBay: GitHub - discourse/discourse-affiliate

إذا كنت لا تزال ترغب في القيام بذلك من جانب العميل، يمكنك اتباع هذا البرنامج التعليمي المفيد: Link rewriting for affiliate codes - #8 by Johani