40 votes

JQuery Simple code fonctionne très bien jusqu'à ce que le site est chargé par https://

J'ai un simple élément de code jQuery qui soumet un formulaire et cache/montre quelques information affichée sur l'écran. Il fonctionne très bien lors de l'essai, jusqu'à ce que chargé via https:// sur lequel il se casse dans IE7. Il semble rompre totalement, avec aucun script ayant aucun effet. J'ai également le IE avertissement que "certains éléments sont en insécurité".

Quelqu'un aurait-il une expérience de ce qui se passe? Ou encore mieux, une solution! Je charge la page via le protocole https comme une carte de crédit de la page de paiement.

79voto

Funka Points 3119

Les trois précédentes réponses à toutes les mentionner le problème de l'sécurisé "https" sur la page d'essayer d'inclure des scripts ou d'autres ressources (css, images, etc) à partir d'un "http" chemin d'accès...

Je voudrais ajouter à ces, et notez que si vous avez une situation où les mêmes pages pourrait être chargé via soit en http ou https, vous pouvez créer des "protocole de moins en moins" Url---le protocole sera supposée être la même que la page en cours. Remarque il n'est nécessaire pour accéder à des ressources sur des domaines différents (et ne fonctionne que si ces différents domaines de soutenir à la fois les protocoles http et https), parce que, évidemment, si vous êtes accéder à des ressources sur le même domaine, vous n'avez pas besoin de commencer par http:// à tous les...

Par exemple, chacun de ces trois ressources suppose http ou https, selon la façon dont la page en cours est accessible:

<script src="//www.example.com/whatever.js" type="text/javascript"></script>
<img src="//www.example.com/someimage.png" alt="whatever" />
<link href="http://stackoverflow.com//www.example.com/styles.css" rel="stylesheet" />

Bonne chance!
-Mike

11voto

John Kugelman Points 108754

Si vous servez une page via l' https:// alors toutes les ressources de liaison devraient également utiliser https://. Regarder dehors pour

<script type="text/javascript" src="http://.../jquery.js"></script>

5voto

Plasticated Points 496

Merci pour tous vos commentaires. Le problème a finalement été retrouvé à une image mentionnés dans Thickbox.js.

Parce que cela a un http:// (pas de https://) url il était à l'origine du message d'erreur. Le message de sécurité qui s'affiche a oui ou non le chargement de contenu non sécurisé, et en cliquant sur oui, disait le navigateur pour arrêter le chargement de tous les jQuery à tous.

Difficile, en effet, j'ai donc pensé que je pourrais répondre à moi-même dans l'espoir qu'il pourrait aider quelqu'un d'autre avec le même problème.

2voto

yfeldblum Points 42613

Si le client a utilisé le protocole HTTPS pour la demande de la page, la page devrait se lier à tous les médias (images, scripts, feuilles de style) via le protocole HTTPS.

Si le client a utilisé le protocole HTTP pour la demande de la page, alors vous devriez vous envoyer ce code HTML dans votre réponse:

<head>
    <script
        type="text/javascript"
        src="http://my.domain.com/app/media/jquery.js"
    ></script>
</head>

Si le client a utilisé le protocole HTTPS pour la demande de la page, alors vous devriez vous envoyer ce code HTML dans votre réponse:

<head>
    <script
        type="text/javascript"
        src="https://my.domain.com/app/media/jquery.js"
    ></script>
</head>

La différence est que, lorsque le client demande la page avec le protocole HTTPS, le serveur renvoie un lien vers le script jquery qui commence par https://.

0voto

Fry Points 39

Vous pouvez également voir un comportement similaire si vous êtes à l'aide de jquery code.jquery.com

par exemple:

code.jquery.com ne pas avoir un certificat SSL valide.

Cela peut entraîner d'autres scripts de ne pas fonctionner correctement.

utilisez le google ca au lieu de charger jquery à partir de votre propre serveur

J'espère que ça aide

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X