我有一段简单的jQuery代码,可以提交表单并隐藏/显示一些屏幕信息。在测试时它能正常工作,但在通过https加载后,它会在IE7中出现问题。看起来它完全崩溃了,没有任何脚本效果。我还收到IE警告"某些元素是不安全的"。
有人遇到过这种情况吗?或者更好的是,有解决办法!我必须通过https加载页面,因为这是一个信用卡支付页面。
<script src="//www.example.com/whatever.js" type="text/javascript"></script>
<img src="//www.example.com/someimage.png" alt="whatever" />
<link href="//www.example.com/styles.css" rel="stylesheet" />
https://
服务提供页面,则每个资源链接也应使用 https://
。要注意。<script type="text/javascript" src="http://.../jquery.js"></script>
感谢您提供的所有信息。问题最终被追踪到 Thickbox.js 中提到的一张图片。
由于该图片使用的是 http://(而不是 https://)链接,这导致了错误消息的出现。弹出的安全消息有一个“是”或“否”的选项来加载不安全的内容,点击“是”会告诉浏览器停止加载任何 jQuery。
这确实是一个棘手的问题,所以我想回答自己,希望能帮助其他遇到同样问题的人。
<head>
<script
type="text/javascript"
src="http://my.domain.com/app/media/jquery.js"
></script>
</head>
<head>
<script
type="text/javascript"
src="https://my.domain.com/app/media/jquery.js"
></script>
</head>
区别在于,当客户端使用HTTPS请求页面时,服务器会返回一个以https://
开头的链接,该链接用于启动jquery脚本。
我使用的浏览器是IE 11。
解决方案:不要使用兼容性模式。 工具->兼容性视图设置。
症状:
程序在http模式下运行良好。
浏览器报告了一个错误,声称需要一个标识符。
浏览器不允许在jquery库文件上进行调试。 如果通过开发人员控制台日志中的错误消息访问该文件,则可以在文件上设置断点,但断点被禁用。
浏览器清楚地显示文件已成功加载。
在使用其他浏览器时没有出现错误。
提示:我将测试程序简化为仅加载jquery库文件和显示固定文本的单个div,因此没有我的代码出错。 这大大简化了可能出错的列表。
如果您正在使用来自code.jquery.com的jquery,您可能会看到类似的行为。
例如:
code.jquery.com没有有效的SSL证书。
这可能会导致其他脚本无法正常工作。
请改用Google CDN或从您自己的服务器加载jquery。
希望能对您有所帮助。