2009-04-08 2 views
1

S'il vous plaît regarder http://www.idea-palette.comPourquoi mon site plante-t-il dans IE7 lors d'une transition vers une page qui a un autre fondu?

J'ai plusieurs pages qui sont décolorées à l'aide de haut nav. Lorsque l'utilisateur clique sur l'un des boutons ci-dessus pour fondre dans une autre page contenant le diaporama à l'aide du plugin jQuery Cycle, IE7 se bloque.

Lorsque je commente le jQuery qui contrôle les fondus du diaporama, IE7 ne plante plus. Vous pouvez voir que ici: http://www.idea-palette.com/IEindex.php

Je devine que IE7 ne l'aime pas quand il se fane à un contenu qui contient un autre contenu qui est en train de décoloration déjà. Je devine que les deux ensemble surchargent d'une manière ou d'une autre IE7 de sorte qu'il se bloque.

Avant je me suis dit que le cycle jQuery Plugin a été à l'origine la page crash, j'ai demandé pourquoi ce qui se passait (Why does my website crash in IE?) et jeffamaphone sur stackoverflow trouvé cette information quand on regarde sur mon site:

« Il a quelque chose à voir avec votre filtre DirectX (probablement ce qui fait les fondus). Voici la pile, et EAX est NULL. Quel que soit le code fait tente de déréférencer EAX:

CDXTFilterBehavior :: _ ClearSurface: 6C8E87E1 mov edi, edi 6C8E87E3 pousser ebp
6C8E87E4 mov ebp, esp 6C8E87E6 pousser ECX
6C8E87E7 mov eax, dword ptr [ebp + 0Ch] 6C8E87EA mov ecx, [EAX] dword ptr < --- EAX est NULL

dxtrans.dll! CDXTFilterBehavior :: _ ClearSurface()
dxtrans.dll! CDXTFilterBehavior :: _ DrawUnfilteredElemen tLayers()
dxtrans.dll! CDXTFilterBehavior :: _ DrawElementWithProceduralSurfaces()
dxtrans.dll! CDXTFilterBehavior :: _ ExecuteFilterChain()
dxtrans.dll! CDXTFilterBehavior :: Draw()
mshtml.dll! CPeerHolder :: Draw ()
mshtml.dll! CLayout :: DrawClientLayers()
mshtml.dll! CDispContainer :: DrawSelf()
mshtml.dll! CDispNode :: Draw()
mshtml.dll! CDispContainer :: DrawChildren()
mshtml.dll! CDispContainer :: DrawSelf()
mshtml.dll! CDispNode :: Draw()
mshtml.dll! CDispContainer :: DrawChildren()
mshtml.dll! CDispContainer :: DrawSelf()
mshtml.dll! CDispNode :: Draw()
mshtml .dll! CDispContainer :: DrawChildren()
mshtml.dll! CDispContainer :: DrawSelf()
mshtml.dll! CDispNode :: Draw()
mshtml.dll! CDispContainer :: DrawChildren()
mshtml.dll ! CDispContainer :: DrawSelf()
mshtml.dll! CDispNode :: Dessin()
mshtml.dll! CDis pContainer :: DrawChildren()
mshtml.dll!CDispContainer :: DrawSelf()
mshtml.dll CDispNode :: Draw()
mshtml.dll CDispRoot :: DrawEntire()
mshtml.dll CDispRoot :: DrawRoot()
mshtml.dll CView!!: : RenderView()
mshtml.dll CDOC :: OnPaint()
mshtml.dll CServer :: OnWindowMessage()
mshtml.dll CDOC :: OnWindowMessage()
mshtml.dll CServer :: WndProc!!()
[email protected]()
[email protected]()
[email protected]()
[email protected]()
[email protected]()
[email protected]()
user32.dll! _DispatchClientMessage @ 20()
[email protected]()
[email protected]()
[email protected]()
[email protected]()
[email protected]()
ieframe.dll! CTabWindow :: _ TabWindowThreadProc()
kernel32.dll! @ BaseThreadInitThunk @ 12()
[email protected]()
[email protected]()

Peut-être que vous supprimez un élément du DOM alors que la transformation est toujours active?

Est-ce que quelqu'un sait comment je peux résoudre ce problème?

Répondre

2

Comme je l'ai mentionné dans un commentaire la dernière fois que vous avez posté ceci, si vous pouvez planter IE à distance, vous devriez contact Microsoft. Cette vulnérabilité peut conduire au moins à une attaque par déni de service et potentiellement à une exécution de code à distance ou à une racine distante (un bogue qui permet à une page Web de plouter un navigateur à la demande est potentiellement exploitable pour permettre à l'attaquant d'exécuter du code non fiable sur votre machine). Alors que les gens ici peuvent être en mesure de vous aider à contourner votre problème, Microsoft devrait vraiment être informé afin qu'ils puissent résoudre le problème sous-jacent.

éditer: Les deux pour essayer de contourner votre propre problème, et pour le plaisir de signaler le bogue, vous devriez essayer de réduire le problème à un cas de test minimal. Dénudez tout le contenu jusqu'à un ensemble minimal d'éléments suffisant pour reproduire le bogue. Faites ensuite la même chose avec le code. Vous devriez essayer d'obtenir un cas de test qui est juste une ou deux images, et juste les fondus enchaînés qui déclenchent le problème, avec rien d'autre présent.

Ensuite, oui, pour signaler le bogue, envoyez-leur un lien vers votre cas de test minimal (ou incluez-le dans le rapport de bogue si vous le pouvez). Mentionnez qu'il s'agit d'une vulnérabilité de déni de service distant et que vous ne savez pas si cela peut entraîner l'exécution de code à distance.

Et comme je l'ai mentionné, réduire cela à un exemple minimal devrait être en mesure de vous aider à contourner votre bug. À tout le moins, vous avez plus de chances d'obtenir de l'aide ici sur un exemple de code minimal qu'un site entier avec beaucoup de choses que personne n'a vraiment envie de fouiller.

+0

donc je devrais donner à microsoft l'adresse web et leur dire que 'cette vulnérabilité peut mener au moins à une attaque de déni de service, et potentiellement à une exécution de code à distance ou à une racine distante'? – zeckdude

+0

avez-vous une idée de comment je peux contourner le problème? – zeckdude

+0

@Chris Réponds à tes questions dans la réponse, puisque je n'avais pas la place dans la boîte de commentaires. Je n'ai aucune idée de comment vous pouvez contourner le problème; Je suggérerais de le réduire à un exemple minimal et de poster à nouveau pour voir si quelqu'un peut vous aider. –

Questions connexes