تطبيق HTML الذي يستخدم الحدث "أونبيفوريونلواد" إغلاق غير متوقع في Internet Explorer 7 عند النقر فوق "إلغاء الأمر"

ينطبق على: Internet Explorer 9

الأعراض


يرجى مراعاة السيناريو التالي:
  • يمكنك إنشاء أحد تطبيقات HTML (HTA).
  • يستخدم HTA الحدث أونبيفوريونلواد .
  • ابدأ HTA في Windows Internet Explorer 7.
  • عندما تقوم بإغلاق HTA، تتلقى رسالة مشابهة لما يلي:
    هل أنت متأكد من أنك تريد الانتقال من هذه الصفحة؟

    قيمة السلسلة

    اضغط "موافق" للمتابعة أو إلغاء الأمر للبقاء في الصفحة الحالية.
    ملاحظة: في هذه الرسالة، نائب قيمة سلسلة تمثل قيمة الخاصية event.returnValue في التعليمات البرمجية ل HTA.
في هذا السيناريو، تلزمها إغلاق كما هو متوقع عند النقر فوق "موافق". ومع ذلك، تلزمها إغلاق بشكل غير متوقع عند النقر فوق إلغاء الأمر.

السبب


تحدث هذه المشكلة بسبب طريقة معالجة الملف Shdocvw.dll أسلوب IOleCommandTarget::Exec .

الحالة


أقرت Microsoft أن هذا هو الشوائب في منتجات Microsoft المسردة في قسم "تنطبق على".

مزيد من المعلومات


تحدث هذه المشكلة عند تشغيل في HTA في Microsoft Internet Explorer 6.

خطوات إعادة إنشاء المشكلة

  1. إنشاء تلزمها.
  2. إدراج الأحرف HTA التعليمات البرمجية التالية:
    <html>
    <head>
    <TITLE>TEST</TITLE>
    <HTA:APPLICATION ID="TEST"
    APPLICATIONNAME="TEST"
    BORDER="thick"
    BORDERSTYLE="normal"
    CAPTION="yes"
    CONTEXTMENU="no"
    MAXIMIZEBUTTON="no"
    MINIMIZEBUTTON="yes"
    SELECTION="no"
    SHOWINTASKBAR="yes"
    SINGLEINSTANCE="yes"
    SYSMENU="yes"
    VERSION="1.0"
    WINDOWSTATE="normal"/>

    <script type="text/javascript">
    function closeIt()
    {
    event.returnValue = "
    string value"; // Any string value here forces a dialog box to appear before the window closes. }
    </script>
    </head>

    <body onbeforeunload="closeIt()">

    <a href="http://www.microsoft.com">Click here to navigate to www.microsoft.com </a>

    </body>

    </html>
  3. في Internet Explorer 7، ابدأ HTA.
  4. إغلاق تلزمها.
  5. انقر فوق إلغاء الأمر. لاحظ أن إغلاق النافذة.

المراجع


لمزيد من المعلومات حول HTAs، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:لمزيد من المعلومات حول خاصية event.returnValue ، قم بزيارة موقع Msdn التالي: