منشور التضمين: تعذر قراءة محددات CSS من موقع React

لدي علامات CSS في المحتوى الخاص بي وحددت محددات CSS في إعدادات مسؤول التضمين ولكن الزاحف لا يلتقطها. أعتقد أن هذا بسبب أن موقعي مبني باستخدام React وأن محددات CSS غير متاحة. كيف يمكنني استخدام هذه الميزة مع موقع React؟

قد يكون هذا هو الحال على الرغم من أنني أتوقع أن الطلب الذي يقوم به Discourse للموقع سيعيد HTML. هناك شيء آخر يجب البحث فيه وهو أن Discourse يقوم بتخزين المحتوى الذي يسحبه من الموقع الخارجي مؤقتًا لمدة 10 دقائق. هذا يعني أنه إذا كنت تقوم بتعديل إعداد الموقع allowed embed selectors، فسيتعين عليك الانتظار لمدة تصل إلى 10 دقائق لرؤية نتائج قيمة الإعداد الجديدة.

إذا لم يكن موقع Discourse الخاص بك قيد الإنتاج بعد ولديك حق الوصول إلى وحدة تحكم Rails الخاصة بموقع Discourse، يمكنك مسح ذاكرة التخزين المؤقت من وحدة التحكم باستخدام Rails.cache.clear

بعض التفاصيل الإضافية حول الإعداد موجودة هنا: Configuring allowed embed selectors.

تعديل: أعتقد أن التضمين يعمل كما هو متوقع. إنه مجرد أمر صعب التكوين لبعض المواقع. سأنقل هذا الموضوع إلى Support.

لقد أنشأت موضوعًا Feature منذ بضعة أشهر أقترح فيه أن يقوم Discourse بإيجاد طريقة أفضل لتحليل المشاركات المضمنة: Topic embedding needs some love. سأخصص بعض الوقت لذلك قريبًا إذا لم يصل إليه أحد قبلي.

3 إعجابات

يقدم Discourse وجهة نظر مختلفة للزواحف. لرؤيتها، ستحتاج إلى زيارة الموقع مع تعطيل جافاسكريبت.

لا أتوقع أن يتم الزحف إلى المشاركات المضمنة لأنها غير موجودة في الموقع الذي تم تضمينها فيه.

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

إذا كان ذلك يساعد، فإن الكود المستخدم لسحب المشاركة الخارجية موجود هنا: discourse/app/models/topic_embed.rb at main · discourse/discourse · GitHub

إذا كان لديك حق الوصول إلى وحدة تحكم Rails الخاصة بموقعك، يمكنك اختبارها للحصول على فكرة عما يحدث. على سبيل المثال:

TopicEmbed.find_remote("https://blog.discourse.org/2023/04/introducing-discourse-ai/")

حيث واجهت مشاكل مع طريقة parse_html التي يتم استدعاؤها في نهاية طريقة find_remote. تواجه Ruby Readability صعوبة مع بعض HTML/CSS.

من الممكن أيضًا ألا يتم إرجاع HTML من موقع React الخاص بك. يمكنك تأكيد ذلك عن طريق تشغيل الكود الموجود في طريقة find_remote في خطوات من وحدة التحكم.

إعجابَين (2)

هذا ممتاز، شكراً لك!