2009-03-27 5 views
0

Ich entdeckte gerade ein ziemlich eigenartiges Problem in IE8 für eine HTTPS-Verbindung. Jedes Mal, wenn die Seite versucht, auf die HTTPS-Verbindung zuzugreifen, wird ein Fehler ausgegeben. Dies geschieht nur in IE8 und sonst nichts. Irgendeine Idee was ist los? Ich habe einige Dinge gefunden, die besagten, dass die Dateien nicht geladen wurden, daher das Problem und versuchte einige Fixes zu empfehlen, aber sie haben bisher nicht funktioniert. Dies ist übrigens eine .NET-Site. https://www.beckshoes.com/cart/cart.aspxSys undefiniert für HTTPS-URL in IE8

Message: 'Sys' is undefined 
Line: 70 
Char: 1 
Code: 0 
URI: https://www.beckshoes.com/cart/cart.aspx 


Message: 'Sys' is undefined 
Line: 319 
Char: 1 
Code: 0 
URI: https://www.beckshoes.com/cart/cart.aspx 
+0

Dies scheint Ihrem Problem sehr ähnlich - http://blogs.msdn.com/praveeny/archive/2007/03/27/webresource-axd-going-over-http-when-you-ave-brow-ing-on -https.aspx –

Antwort

0

Sieht ein JavaScript-Fehler zu sein. Firefox behandelt es gut, aber Sys ist in IE8 nicht definiert und ich vermute, dass der Teil, wo es normalerweise definiert wird, in IE fehlt?

+0

Ja. Das .NET-Framework fügt es automatisch hinzu, aber es scheint, als ob es auf dem https-Pfad erstickt – Dhana

0

Verwenden Sie Ansicht> Quelle.

Kommt der <script src="..."> auch vom Server https, oder kommt er von http? IE8 lädt das Skript möglicherweise nicht, da es nicht von derselben sicheren Quelle stammt, aus der der Rest der Seite stammt. Nimm die <script src="..."> (wenn es nicht das Protokoll und den Server enthält, benutze das gleiche, von dem die Seite kommt) und füge es in die Adressleiste eines neuen Tabs ein, wird das Skript geladen/heruntergeladen?

Ist das <script src="...">-Tag, das die entsprechende Bibliothek lädt, auch in der Quelle aufgeführt? Vielleicht wird es nicht hinzugefügt, da ASP.NET den Benutzer-Agent nicht erkennt und nicht für möglich hält.

+0

Sys.WebForms.PageRequestManager._initialize ('ctl00 $ template1 $ ScriptManager1', document.getElementById ('aspnetForm')); Sys.WebForms.PageRequestManager.getInstance() ._ updateControls ([], [], [], 90); Dhana

+0

So sieht es aus. – Dhana

0

Sys ist Teil der Microsoft-Skriptbibliothek und wird über die Datei WebResource.axd geladen.

Ihre Seite scheint für mich größtenteils in IE 8 zu funktionieren - haben Sie es behoben?

Ich sehe, dass Sie die WebResource am Fuß der Seite laden - wenn die Aufrufe zur Initialisierung geschehen, bevor das Skript geladen wird, dann wird das sein, was es verursacht - haben Sie dies absichtlich in die Fußzeile verschoben ? Der Skriptmanager hat eine Eigenschaft, um dies richtig zu machen: LoadScriptsBeforeUI. Wenn Sie dies auf "false" setzen, werden die Skripts verschoben, die nach unten auf die Seite verschoben werden können.

Ich bemerke, dass Sie auch den Viewstate dort runtergeschoben haben, also machen Sie offensichtlich etwas Post-Processing des HTML.

Das einzige, was ich denken kann, ist, dass auf Ihrer Seite suchen, haben Sie einen IFrame Halten der Marke Rotator bekam, dass fordert es von http://www.beckshoes.com/brands.aspx

Sie wirklich, dass unter https auch wollen Inhalt ist - das hilft wahrscheinlich nicht.