سؤال

هذا هو mfc و chtmlview ولكن ربما ينطبق على جميع استخدام التحكم في الويب IE.

عندما يتنقل عنصر تحكم الويب إلى صفحة في بعض المواقع، فإننا نحصل على المحتوى المحتوى المتشعب / HTTPS مختلط.

هل هناك أي مفتاح تسجيل محدد أو أمر أو إكس يمكن تعيينه أثناء تشغيل برنامجنا الذي سيعطل التحذير؟أفضل، هل يمكننا اختيار استجابة "نعم" أو "لا"؟

لا نتحكم في موقع الويب حتى "إصلاح صفحة الويب" ليست خيارا.برنامجنا يعمل على أجهزة الكمبيوتر الشخصية، لذا "انتقل إلى إعدادات IE" ليس أيضا حلا جيدا.

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

المحلول

تنفيذ مدير أمان مخصص < / A> على فئة موقع التحكم المستخدمة من قبل فئة CHTMLView المشتقة للتعامل مع orlaction_html_mixed_content مع رمز النجاح. موقع التحكم هو تطبيق MFC الخاص بموقع عميل ActiveX، منها عنصر تحكم WebBrowser المستخدم في استفسارات استفسارات ChtmlView .

إذا كنت تستخدم MFC 7.0 أو أعلى، فأنت بحاجة إلى استبدال موقع التحكم عبر وظيفة ReadIDEN Createcontrolsite . في MFC 6.0، يمكنك فقط استبدال حاوية التحكم على مستوى العالم بواسطة استدعاء AFXENABLECONTROLCONTAINER مع كوسمانغر الخاص بك يتجاوز إنشاء طريقة.

بعد استبدال موقع التحكم، أضف iServiceProvider واجهات إدارة الأمان (IINTERNETSECurityManager، اختياريا iinternetsecuritymanagerex و iinternetsecuritymanagerex2) عبر وحدات ماكرو end_interface_part end_interface_part على فئة موقع التحكم. إذا كنت غير مألوف مع وحدات ماكرو MFC، تحقق من TN038: تطبيق MFC / OLE INKNOWN . يجب أن يعرض التنفيذ الخاص بك Inet_e_default_action Inet_e_default_action إلا إذا كانت الطريقة تتمثل في التصميم / ProcessUrlIctionActiveEx / ProcessUrlactEx2 والعزيمة هي orlaction_html_mixed_content، ثم تحتاج إلى إرجاع S_OK. املأ عنوان ppolicy مع urlpolicy_allow للسماح بصمت للمحتوى المختلط، أو Urlpolycy_disallow للولاك. استخدم Urlpolicy_query لطرح المستخدم عند الحاجة.

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