The Internet Explorer progress bar continues to increase when an attached behavior is dynamically inserted in a page

BB İçeriği Yasal Uyarısı Kaldırıldı

Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.

Symptoms

When you dynamically add an object that contains an attached behavior to a Web page, and the behavior must be downloaded, the progress bar in Microsoft Internet Explorer continues to increase. The progress bar continues to show progress even after the behavior is downloaded, and the page is rendered. However, the attached behavior works correctly without any unexpected problems.

Cause

This issue may occur when Every visit to the page is selected for the Check for newer versions of stored pages option in Internet Explorer.

To view the Check for newer versions of stored pages option, follow these steps:
  1. In Internet Explorer, click Tools, and then click Internet Options.
  2. On the General tab, click Settings under Temporary Internet files.
  3. In the Settings dialog box, view the Check for newer versions of stored pages option.

Workaround

To work around this issue, take either of the following actions:
  • Avoid dynamically inserting any objects that contain attached behaviors.
  • Set the message text in the status bar of Internet Explorer after you add the object.

NOTE: This issue may not be isolated to behaviors only. You may experience a problem with any element that must be downloaded, such as an image.


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

More Information

This issue occurs if you dynamically add an attached behavior by replacing the inner HTML of an element, such as the DIV element, by using the createElement method or the insertAdjacentHTML method, or by dynamically changing the className property of an element.

Steps to reproduce the behavior

  1. Copy the following code sample, and then save the code sample to a file that is named Test.htm.
    <HTML>
    <HEAD>
    <STYLE>
    .UseBehavior
    {
    behavior: url(behavior.htc);
    }
    </STYLE>

    <SCRIPT>
    function DoClick()
    {
    SetTarget.innerHTML = "<DIV CLASS='UseBehavior'>Hello World</DIV>";
    //Uncomment the following line to work around the problem.
    //window.status="Finished";
    }
    </SCRIPT>
    </HEAD>

    <BODY>
    <DIV ID="SetTarget">Click to try the test</DIV><BR>
    <BUTTON onClick="DoClick()">Click to insert the attached behavior.</BUTTON>
    </BODY>
    </HTML>
  2. Copy the following code sample, and then save the code sample to a file that is named Behavior.htc. Put the Behavior.htc file in the same directory where the Test.htm file is located.
    <PUBLIC:COMPONENT>
    <PUBLIC:ATTACH EVENT="ondocumentready" ONEVENT="Element_DocumentReady()" />

    <SCRIPT language="JScript">
    function Element_DocumentReady()
    {
    // This is almost an empty behavior.
    }
    </SCRIPT>
    </PUBLIC:COMPONENT>
  3. Open the Test.htm file, and then click Click to insert attached behavior.
After the text changes from "Click to try the test" to "Hello World", the behavior is added. The progress bar loads indefinitely.

References

For additional information about developing Web-based solutions for Internet Explorer, visit the following Microsoft Developer Network (MSDN) Web sites:
Internet Explorer updatesUsing DHTML behaviorUsing HTML components to implement DHTML behaviors in script
Özellikler

Makale No: 320731 - Son İnceleme: 19 Haz 2014 - Düzeltme: 1

Microsoft Internet Explorer 6.0, Windows Internet Explorer 7, Windows Internet Explorer 8

Geri bildirim