Makale numarası: 946214 - Son Gözden Geçirme: 28 Aralık 2007 Cuma - Gözden geçirme: 1.0

"Iptal" i tıklatın, "onbeforeunload" olayı kullanan bir HTML uygulaması ınternet Explorer 7'de beklenmedik biçimde kapatılıyor

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Şu senaryoyu inceleyin:
  • Oluşturduğunuz bir HTML uygulaması (HTA).
  • HTA onbeforeunload olayı kullanır.
  • Windows ınternet Explorer 7'de HTA başlatın.
  • HTA'ı kapattığınızda, aşağıdakine benzer bir ileti alırsınız:
    Bu sayfanın dışında gerçekten gezinmek istiyor musunuz?

    string value

    Devam etmek için Tamam'a, geçerli sayfada kalmak için İptal'e basın.
    Not Bu iletideki kodu <a1>event.returnValue</a1> özelliğinin değeri için HTA yer tutucu string value temsil eder.
Bu senaryoda, Tamam ' ı tıklattığınızda beklendiği gibi HTA kapatır. Ancak, the HTA beklenmedik bir şekilde iptal düğmesini kapatır.

Neden

Bu sorun, Shdocvw.dll dosyasının IOleCommandTarget::Exec yöntemini işleme biçimini nedeniyle oluşur.

Durum

Microsoft bu durumun, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.

Daha fazla bilgi

Microsoft ınternet Explorer 6'da HTA başlattığınızda, bu sorun oluşmaz.

Sorunu Yeniden Oluşturma Adımları

  1. Bir HTA oluşturur.
  2. HTA aşağıdaki kodu ekleyin:
    <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'de, the HTA'ni başlatın.
  4. HTA'nı kapatın.
  5. Iptal ' i tıklatın. Pencereyi kapatır dikkat edin.

Referanslar

HTAs hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms536496.aspx (http://msdn2.microsoft.com/en-us/library/ms536496.aspx)
Event.returnValue özelli?i hakk?nda daha fazla bilgi için aşağıdaki MSDN Web sitesini ziyaret edin:
http://msdn2.microsoft.com/en-us/library/ms534372.aspx (http://msdn2.microsoft.com/en-us/library/ms534372.aspx)

Bu makaledeki bilginin uygulandığı durum:
  • Windows Internet Explorer 7
Anahtar Kelimeler: 
kbmt kbtshoot kbcode kbbug KB946214 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:946214  (http://support.microsoft.com/kb/946214/en-us/ )