Ich habe eine HTTPS-Site, die in IE6 & amp; 7 zeigt (fälschlicherweise) einen Dialog an, der lautet:
Diese Seite enthält sichere und nicht sichere Elemente
Möchten Sie die nicht sicheren Elemente anzeigen?
Dies geschieht nicht in jedem geeigneten Browser, aber die Website ist Unternehmen und viele Kunden sind immer noch auf Windows 2000 und IE6.
Ich kenne die folgenden möglichen Ursachen für diese Nachricht (und habe sie beseitigt):
Eine oder mehrere der mit der Seite geladenen Ressourcen haben http://
anstelle von https://
- dies ist der einzige berechtigte Grund, den Fehler anzuzeigen, und würde die gleiche Meldung auch in funktionierenden Browsern verursachen. Fiddler kann die Ressourcen, die nicht sicher geladen werden, identifizieren. Dies ist einfach zu beheben.
IE-Verhalten .htc
-Dateien werden geladen, um DHTML-Funktionen bereitzustellen - diese werden oft als unverschlüsselt behandelt, auch wenn sie von einer https://
-URL geliefert werden, was sie selbst als IE6 noch nicht nutzbar war. Es ist keine gute Idee, diese überhaupt zu verwenden.
IE behandelt leere Frames als nicht sichere Ressourcen , so dass <iframe src=""
oder <iframe src="about:blank"
beide diesen Fehler verursachen. Dies ist leicht zu finden und im Code zu beheben.
IE5 wurde verwendet, um AJAX-Anforderungen als nicht sicher zu senden, wenn die ActiveX XMLHTTP-Komponente verwendet wird. Ich glaube nicht, dass dies ein Problem in IE6 und darüber ist.
Daten-URIs werden nicht von IE 6 oder 7 unterstützt und werden nicht angezeigt, aber wenn sie im CSS enthalten sind, führt dies auch zu einer nicht sicheren Warnung. Wir haben unterschiedliche CSS für IE, die sie nicht verwenden.
Javascript-Protokoll-Links in Die Quelle für Skript-Tags wird als nicht sicher gemeldet. : <script type="text/javascript" src="javascript:void(0)">
Durch das Löschen des src
-Attributs (danke Eric!) einfach zu vermeiden.
Es werden keine externen Bibliotheken mit der Seite oder dynamisch geladen, und es wird kein CDN verwendet. Wir verwenden einige Plugins von Drittanbietern, die aber sicher geliefert werden und keinen weiteren Inhalt dynamisch laden.
Es gibt eine Menge über diesen IE-Bug hier, aber alles, was ich bisher gefunden habe, weist auf eines der obigen Probleme hin, die ich bereits beseitigt habe.
Gibt es irgendwelche anderen Fehler in IE6 & amp; 7 das könnte die Ursache für diesen Fehler sein?
Gibt es eine Möglichkeit, zu erkennen, welche Ressource der IE für nicht sicher hält?
Ich habe die Ursache des Problems gefunden, aber es dauerte etwas zu graben.
Erstens Eric Law hat sich ein Prototyp-Tool (exe) in eine andere Antwort , die zur Identifizierung des Problems beigetragen hat.
Die nicht sichere Ressource ist:
%Vor%Das Problem ist, dass IE6 Daten-URIs nicht unterstützt, also verwenden wir sie nicht. Woher kommt das?
Es stellt sich heraus, dass jQuery UI 1.8 das Problem ist, insbesondere eine Fehlerbehebung für einen weiteren Fehler im CSS:
%Vor%Es sieht so aus, als hätten andere dieses Problem erkannt und Es wurde in der neuesten jQuery-Benutzeroberfläche CSS (1.9 oder höher) behoben.
Mein Problem war, das durch eine normale URL für ein leeres GIF zu ersetzen, Problem gelöst.
Tags und Links https fiddler internet-explorer-7 internet-explorer-6