سؤال

خذ بعين الاعتبار الكود التالي:

var options = {
    title: 'Create a new Post'
    autoSize: true,
    url: url
}

SP.UI.ModalDialog.showModalDialog(options);

يتم تنفيذ التعليمات البرمجية من إجراء مخصص للبنك المركزي الأوروبي ومن جزء ويب.إنه يعمل بشكل جيد في IE، ولكن عندما أسميه من جزء الويب في Google Chrome فإنه يعطي الخطأ التالي:

خطأ في الكتابة لم يتم اكتشافه:الكائن # لا يحتوي على طريقة "showModalDialog"

الشيء الغريب هو أنه عندما أستدعي نفس الرمز بالضبط (وهو جزء من مكتبتي) من الإجراء المخصص للبنك المركزي الأوروبي، فإنه يعمل الآن في Google Chrome!

لقد حاولت الاتصال به

  • ExecuteOrDelayUntilScriptLoaded
  • _spBodyOnLoadFunctionNames.push("funcname")
  • LoadSodByKey("sp.ui.dialog.js", null);

أي أفكار أو مساعدة؟إنه يقودني إلى الجنون!

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

المحلول

هذه مشكلة في Chrome تتعلق بنموذج التخزين المؤقت الخاص به.

يرجى التأكد من الاتصال

LoadSodByKey("SP.UI.Dialog.js", null); 

للتأكد من تحميل الملف.

نصائح أخرى

يمكن التخلص من هذا الخطأ المحدد الذي تمت مواجهته في متصفح Chrome باستخدام طريقة SP.SOD.execute (key، functionName، args)..

استبدل الخط

SP.UI.ModalDialog.showModalDialog(options);

مع ال

SP.SOD.execute('sp.ui.dialog.js', 'SP.UI.ModalDialog.showModalDialog', options);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى sharepoint.stackexchange
scroll top