die von einer Webdesign-Firma entworfen, gepflegt und gehostet wird. Die Umsetzung dessen, was ich zu erreichen versuche, scheint gut kodiert zu sein – siehe meine JSFiddle – es funktioniert ohne Fehler. Wenn Sie jedoch den Code von meinem JSfiddle kopieren und in meine Website einfügen, funktioniert es überhaupt nicht – die Google Chrome-Entwicklerkonsole zeigt dies:
GET https://www.turnjs.com/lib/turn.min.js net::ERR_SSL_PROTOCOL_ERROR
Aber es ist seltsam, da mein Jsfiddle-Code dasselbe enthält turn.min.js und es funktioniert dort, aber auf meiner Website nicht.
http:// funktioniert, https:// nicht.
– robertklep
5. April 2017 um 13:31 Uhr
In der Geige schließt du die Datei durch http://nicht https://. Sie müssen Ihr SSL-Zertifikat reparieren – vorausgesetzt, Sie haben eines. Wenn Sie dies nicht tun, können Sie es nicht verwenden https://
– Rory McCrossan
5. April 2017 um 13:31 Uhr
@RoryMcCrossan @robertklep Ja, ich verstehe jetzt, aber dann habe ich diesen gemischten Fehler und bekomme das gleiche Ergebnis: Mixed Content: The page at 'https://www.mywebsite.com' was loaded over HTTPS, but requested an insecure script 'http://www.turnjs.com/lib/turn.min.js'. This request has been blocked; the content must be served over HTTPS.
– BB-8
5. April 2017 um 13:37 Uhr
Woher kommt dieser Fehler? Dies wird durch den Aufruf von nicht gesicherten Inhalten (z. http://) von einer sicheren Seite (https://)
– Rory McCrossan
5. April 2017 um 13:42 Uhr
@RoryMcCrossan Ich weiß, was den Fehler verursacht hat, aber wie kann ich ihn beheben, ohne mit SSL-Zertifikat zu manipulieren. weil ich keinen direkten Zugriff darauf habe
– BB-8
5. April 2017 um 13:46 Uhr
Dies ist kein Javascript-Problem, sondern ein SSL-Problem.
Sie können keine Datei über eine unsichere Verbindung (http) von einer HTML-Seite abrufen, die über eine sichere Verbindung (https) bereitgestellt wird. Wenn Sie https verwenden (und Sie SOLLTEN!), müssen Sie das Skript über eine sichere Verbindung abrufen. Um die Datei zu erhalten, sollten Sie Folgendes verwenden:
Und stellen Sie sicher, dass die Datei über https bereitgestellt wird, indem Sie den Server entsprechend konfigurieren. Hier ist eine einfache Konfiguration für lighttpdund hier ist einer für Apache. Wenn Sie kein CA-signiertes Zertifikat haben, können Sie eines mit letsencrypt ( www.letsencrypt.org/getting-started/ ) erhalten. Wenn Sie den Server nicht kontrollieren, sollten Sie sich mit der Person in Verbindung setzen, die dies tut.
2) Auf JSfiddle wird über HTTP zugegriffen, daher keine Probleme
3) <script type="text/javascript" src="http://www.turnjs.com/lib/turn.min.js "></script> wird Ihrer Seite in jedem Fall Probleme bereiten, da dies ein Beispiel für gemischte Inhalte ist, die von fast allen Browsern blockiert werden.
Lösung:
Kopieren Sie diese Datei auf Ihren Server und binden Sie dann die lokale Version ein
Ich ziehe es vor, Skripte auf diese Weise in die Seiten einzufügen: <script type="text/javascript" src="https://www.turnjs.com/lib/turn.min.js "></script>.
Dadurch konnte der Browser den Verbindungstyp selbst überprüfen. Was in Ihrem Fall eigentlich nicht funktioniert (siehe S.1).
http://
funktioniert,https://
nicht.– robertklep
5. April 2017 um 13:31 Uhr
In der Geige schließt du die Datei durch
http://
nichthttps://
. Sie müssen Ihr SSL-Zertifikat reparieren – vorausgesetzt, Sie haben eines. Wenn Sie dies nicht tun, können Sie es nicht verwendenhttps://
– Rory McCrossan
5. April 2017 um 13:31 Uhr
@RoryMcCrossan @robertklep Ja, ich verstehe jetzt, aber dann habe ich diesen gemischten Fehler und bekomme das gleiche Ergebnis:
Mixed Content: The page at 'https://www.mywebsite.com' was loaded over HTTPS, but requested an insecure script 'http://www.turnjs.com/lib/turn.min.js'. This request has been blocked; the content must be served over HTTPS.
– BB-8
5. April 2017 um 13:37 Uhr
Woher kommt dieser Fehler? Dies wird durch den Aufruf von nicht gesicherten Inhalten (z.
http://
) von einer sicheren Seite (https://
)– Rory McCrossan
5. April 2017 um 13:42 Uhr
@RoryMcCrossan Ich weiß, was den Fehler verursacht hat, aber wie kann ich ihn beheben, ohne mit SSL-Zertifikat zu manipulieren. weil ich keinen direkten Zugriff darauf habe
– BB-8
5. April 2017 um 13:46 Uhr