سؤال

أحاول إعداد موقعي بحيث يتم تحميل المحتوى في المنطقة الرئيسية عبر جافا سكريبت (يستغرق عرض بعض الصفحات بعض الوقت). ومع ذلك ، واجهت مشكلة منطقية عند استخدام jQuery.load () و jQuery.getScript و jQuery.ajax ().

أحتاج إلى أن أكون قادرًا على تحميل بعض ملفات جافا سكريبت عبر getScript حتى أتمكن من استخدام هذه الوظائف وما إلى ذلك داخل المحتوى الذي تم تحميله.

  • index.php - الملف الرئيسي المعروض (يحتوي أيضًا على #loading)
  • js / script.js - الملف الذي يحتوي على كود التحميل
  • js / *. js - عدة ملفات جافا سكريبت أحتاج إلى استخدامها داخل #maincontent بعد التحميل
  • load.php - الملف الجاري تحميله في #maincontent

script.js:

Genacodicetagpre

كما ترى ، أحاول تحميل load.php أولاً بدون أي معلمات عناوين URL وأي تفاعل من المستخدم. على الرغم من تحميل load.php بشكل صحيح في كل مرة ، لا يمكن قول الشيء نفسه بالنسبة لرمز جافا سكريبت. يعمل أحيانًا ، وفي أحيان أخرى يتعين علي تحديث الصفحة عدة مرات قبل أن أحصل على وحدة تحكم نظيفة (لا توجد أخطاء).

توحي لي الأخطاء الموجودة في وحدة التحكم بأن كود js لم يتم تحميله بشكل صحيح قبل استخدامه داخل load.php. هذا صحيح بشكل خاص إذا استغرق load.php بعض الوقت (تم اختباره باستخدام وظيفة PHP sleep (5)).

يُرجى إعلامي إذا كنت بحاجة إلى توضيح أي شيء :)

هل كانت مفيدة؟

المحلول

يجب عدم تحميل كل هذه البرامج النصية باستخدام getScript.ستحتاج إلى بعض منها (أو كلها؟) في كل مرة ، فلماذا لا تقوم فقط بتضمينها في الصفحة.بالإضافة إلى ذلك ، نظرًا لأنك تستخدم jquery لتحميل jquery ، سأقول إنك قمت بالفعل بتضمينها في الصفحة.لذلك لا تحاول تحميله مرة أخرى.

نصائح أخرى

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

يمكنك ، على سبيل المثال ، أن تفعل: Genacodicetagpre

سينتظر هذا حتى تعود جميع استدعاءات getScript ، ثم يقوم باستدعاء ajax ليتم تحميله.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top