القراءة الموصى بها:
كيفية حل مشكلة التحميل البطيء لـ JS Iframe
في المشروع ، غالبًا ما تحتاج إلى إضافة Iframes بشكل ديناميكي ثم إجراء العمليات ذات الصلة على الإطارات المضافة. في كثير من الأحيان ، تم تنفيذ الكود اللاحق قبل إضافة iframe ، لذلك لا يتم عرض بعض الأشياء التي تكتبها على الإطلاق. في هذا الوقت ، علينا أن نفكر فيما إذا كان بإمكاننا الانتظار حتى يتم تحميل iFrame قبل إجراء العمليات اللاحقة. بالطبع ، نظرت المتصفحات المختلفة منذ فترة طويلة بالنسبة لنا ، انظر أدناه:
أي متصفح
سيكون لكل عقدة elem في IE حدث onReadyStateChange. يتم تشغيل هذا الحدث في كل مرة يتم إرسال محتوى ELEM للتغيير. على سبيل المثال ، يتم تحميل المحتوى وتحميله بعد تحميل المحتوى. يتم تحميل المحتوى بنجاح. تحتاج هذه الوظيفة أيضًا إلى التنسيق مع ReadyState. هذه خاصية مملوكة لكل Elem على IE لعرض حالة كل مشغل.
// أضف أولاً إضافة onReadyStateChangeIframe.attachevent ("onReadyStatechange" ، الدالة () {// سيتم تشغيل هذا الحدث أيضًا عندما لا يتم تحميل المحتوى ، لذلك نحتاج إلى الحكم على الحالة // أحيانًا يكون غريبًا وستعمل جاهزًا. "محمّل") {// يمكن تنفيذ الكود هنا وهذا يعني أن التحميل قد تم إكماله بنجاح // الحدث iframe.detachevent ("onReadyStatechange" ، endress.callee) ؛ // هذه هي وظيفة الاتصال}}) ؛متصفحات أخرى (Firefox ، Opera ، Chrome ، وما إلى ذلك)
على المتصفحات الأخرى غير IE ، سيكون لدى Firefox و Opera و Chrome وغيرها من الإطارات حدث Onload. طالما تم تشغيل هذا الحدث ، فهذا يعني أنه تم تحميل محتوى الاسم.
iframe.addeventListener ("load" ، function () {// يمكن تنفيذ الكود هنا ، وهذا يعني أن الحمل قد تم إكماله بنجاح. this.removeeventListener ("load" ، ediuments.call ، false) ؛ // هذه هي وظيفة الاتصال} ، خطأ) ؛دعونا نلخص
إذا كان (iframe.attachevent) {iframe.attachevent ("onReadyStatechange" ، وظيفة () {// سيتم تشغيل هذا الحدث أيضًا عندما لا يتم تحميل المحتوى ، لذلك نحتاج إلى الحكم على الحالة // أحيانًا يكون غريبًا وستعمل جاهزًا. "loaded") {// يمكن تنفيذ الكود هنا وهذا يعني أن التحميل قد تم إكماله بنجاح // الحدث iframe.detachevent ("onReadyStateChange" ، endument.callee) ؛ // هذه هي وظيفة الاتصال}}) ؛ أكملت بنجاح.ملاحظة: يجب وضع الوظيفة أعلاه بعد أن يتم تذييل iframe إلى الجسم ، وإلا فلن يتم تشغيله.
المحتوى أعلاه هو طريقة JS لتحديد ما إذا كان المحرر قد تم تحميله بنجاح من قبل المحرر. آمل أن يكون ذلك مفيدًا للجميع!