اذهب إلى المحتوى
  • 0

خطأ Failed to execute replaceChild on Node عند إستخدام Laravel Livewire

Mahmoud Alrashidi

السؤال

لدي مكون واحد به فيديو يستخدم مكتبة videojs لتحميله. في هذا المكون ، أرسل حدثًا بعد 3 ثوانٍ لتمييز مقاطع الفيديو هذه على أنها تمت مشاهدتها باستخدام كود جافا سكريبت هذا: 

var player = videojs('yt-video')
        player.on('timeupdate', function() {        
            if(this.currentTime() > 3 ) {
                Livewire.emit('VideoViewed')
                this.off('timeupdate')
            }
        })

ثم أستمع إلى هذا الحدث داخل الفصل وأقوم بتحديث قاعدة البيانات، هذا يعمل بشكل جيد باستثناء مشكلة واحدة.

بعد تشغيل المكون للحدث ، يستمر تشغيل الفيديو ولكنه يُظهر زر التشغيل حتى يتم تشغيل الفيديو وإزالة جميع عناصر التحكم في الفيديو أيضًا و يُظهر هذا الخطأ في الطرفية:

Uncaught DOMException: Failed to execute 'replaceChild' on 'Node': The node to be replaced is not a child of this node.
    at t.<anonymous> (https://vjs.zencdn.net/7.10.2/video.min.js:19:51700)
    at t.<anonymous> (https://vjs.zencdn.net/7.10.2/video.min.js:12:25973)
    at https://vjs.zencdn.net/7.10.2/video.min.js:12:25749

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

يبدو أن Livewire يكتشف أن العنصر الذي يحتوي على مشغل الفيديو قد تغير ويحاول استبداله.

عليك إضافة التوجيه wire:ignore للعُنصر الحاوي لعُنصر الفيديو أو عُنصر الفيديو نفسه:

<video class="video-js" wire:ignore>

تختلط الأمور على Livewire عندما يتم التلاعب بالصفحة بإستخدام شيفرات جافاسكربت خارجية دون علم Livewire بذلك، مُعظم المشاكل من هذا النوع يتم حلها بإضافة التوجيه او الخاصية "wire:ignore"

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...