باختصار: في صفحة التضمين يكون العنوان في شريط المتصفح هو المستضيف، بينما تطلب <iframe> من نطاق آخر الوسائط عبر مشغّل مبني بجافاسكريبت. الأدوات التي تحلّل الصفحة الخارجية لا ترى وسائط، ولهذا يبدو «تحميل الفيديو من المواقع المضمّنة» كميزة معطّلة. والحل هو رصد حركة اللسان كله — الصفحة الخارجية وأطرها — أثناء التشغيل، ثم تنزيل ما طُلب فعلاً.
كيف يغيّر التضمين المسألة
- مستندان منفصلان. صفحة الإضافة والمستند المضمّن كيانان مستقلان، وطلبات الوسائط تصدر من المستند الداخلي وعنوانه ليس الذي نسخته.
- عزل النطاق المختلف. لا يستطيع المستضيف قراءة إطار خُدم من نطاق آخر؛ قاعدة أمنية على مستوى المتصفح لا قصور في أداتك. وتوثيق دلالات العنصر في MDN ضمن مرجع HTMLMediaElement.
- الرسائل بدل الروابط. كثيراً ما يُبلَّغ المشغّل بأي فيديو يُحمَّل عبر رسائل ما بين النوافذ، فلا يوجد ما يشبه عنوان وسائط في الشيفرة.
- بايتات مجمّعة في المشغّل. بعد التحميل قد تُضاف الوسائط إلى العنصر عبر Media Source Extensions بدل الإشارة إلى ملف واحد.
- عناوين موقّعة قصيرة العمر. روابط وسائط الإطار تسقط عادة، فعنوان الساعة الثالثة لا يعمل بالضرورة في الثالثة وخمس دقائق.
اعثر على الإطار الذي يشغّل فعلاً
افتح مراقب الشبكة وصفِّ الوسائط
مع أدوات المطوّر، شغّل الفيديو وابحث عن طلبات بأنواع وسائط أو امتدادات مثل .mp4 و.webm و.m3u8 و.mpd. لوحة الشبكة تعرض حركة كل الأطر، وهنا ترى أي نطاق يسلّم الفيديو حقيقة.
انسخ عنوان مستند الإطار لا عنوان المستضيف
اضغط بزر الفأرة الأيمن على منطقة المشغّل في الفاحص لكشف مصدر إطاره، أو اقرأ خاصية src لعنصر الإطار. هذا العنوان هو ما يجب توجيه أداة تحليل الصفحات إليه حين لا تعيد الصفحة الخارجية شيئاً.
أو ارصد اللسان كله
أداة سطح مكتب تراقب الجلسة تتعامل مع المستندين معاً: تسرد الوسائط التي طلبتها الصفحة والتي طلبها أطرها، فتختار مما تشغيل فعلاً. هذا هو الفرق العملي بين تحليل الشيفرة ورصد الحركة، والطريقة العامة موضحة في دليل التحميل من المواقع.
ملاحظات خاصة بمتصفح كروم
عبارتا «كيف أنزّل فيديو من موقع مبني بجافاسكريبت» و«كروم لا يحفظ الفيديو المضمّن» حالتان واحدة بصيغتين، حسب ما يراه المستخدم:
- خيار «حفظ الفيديو باسم» الأصلي يتطلب عنصر وسائط له
srcيمكن للمتصفح الوصول إليه؛ والمصادر القائمة على Blob — وهي المعتادة مع MSE — لا تعرض شيئاً للحفظ، كما يوضح مرجع عناصر الوسائط. - تُبلّغ واجهة التنزيل في كروم عن «انقطاع شبكة» مع الوسائط المجزّأة لأنها لا تنزّل ملفاً واحداً أصلاً؛ الخطأ خطأ تصنيف لا خلل اتصال.
- لا ترى أدوات الالتقاط بالإضافات إلا ما يُسمح لواجهات برمجيتها بمراقبته في اللسان، وهي محجوبة في كثير من المواقع؛ والبديل بلا إضافة مشروح في التحميل دون إضافة متصفح.
- تؤثر إعدادات عزل ملفات تعريف الارتباط وبيانات التخزين على قدرة الإطار المضمّن على توثيق نفسه أصلاً. فإن عمل التضمين في متصفح آخر وبقي فارغاً في كروم، فتأكد أن بيانات موقع الإطار ليست محجوبة.
ما لا تستطيع هذه الطريقة فعله
المشغّلات المضمّنة من منصّات تسلّم وسائط محمية — تدفقات مشفّرة تُتفق عبر EME — خارج هذه الطريقة، وكذلك التضمينات التي لا يسمح حسابك بعرضها. كما أن التضمين يرث شروط المنصة: قدرةُك على تشغيله ليست رخصة لإعادة نشره. وحيث المنصة هي X أو إنستغرام أو فيسبوك، تغطي الأدلة الخاصة بها تفاصيل التسليم: X وإنستغرام وفيسبوك.
جدول قرار سريع
| ما تراه | معناه | الخطوة التالية |
|---|---|---|
طلب .mp4 واحد من الإطار | وسائط متصلة داخل تضمين | اجلبه ما دام العنوان صالحاً |
.m3u8 مع أجزاء .ts أو .m4s | HLS داخل الإطار | ادمج الأجزاء — دليل HLS |
.mpd مع صوت منفصل | DASH داخل الإطار | اجلب الاثنين وغلّفهما — دليل DASH |
| لا شيء في الشيفرة وكل شيء في لوحة الشبكة | مشغّل جافاسكريبت مع MSE | ارصد الحركة ولا تقرأ الشيفرة |
| طلبات تبادل مفاتيح تشفير بلا وسائط واضحة | تسليم محمي | توقف؛ خارج النطاق |
الأسئلة الشائعة
كيف أنزّل فيديو مضمّناً في صفحة؟
التقط الوسائط التي طلبها الإطار المضمّن لا الصفحة المستضيفة: وجّه الأداة إلى عنوان مستند الإطار، أو ارصد اللسان كاملاً أثناء التشغيل.
ولماذا تقول أداتي «لا فيديو» وأنا أراه؟
لأنها حلّلت الصفحة الخارجية بينما الإطار هو من جلب، أو لأن المشغّل يجمّع وسائط بلا عنوان ملف واحد.
أأنزّل من موقع مبنٍ بجافاسكريبت؟
نعم؛ الوسائط ما زالت تصل بطلبات شبكة يمكن رصدها. الفشل يأتي من قراءة مصدر الصفحة.
لماذا يرفض كروم حفظ فيديو مضمّن؟
لأن الحفظ الأصلي يحتاج مصدراً قابلاً للعنونة، والتشغيل عبر Blob أو الأجزاء لا يوفر واحداً.
هل أحتاج إضافة للتعامل مع التضمين؟
لا؛ تطبيق سطح مكتب بنافذة متصفح خاصة به يرى الأطر والجلسات دون تثبيت شيء في كروم.
أأحفظ تضميناً محمياً؟
لا؛ التسليم المشفّر المتفق عليه عبر EME خارج هذه الطريقة بالتصميم.